- 仿真
1 技术原理分析
1.1 FSK信号
FSK调制技术通过改变载波频率来表示数字信息。在FSK调制中,两个不同的载波频率(标记为f1和f2)分别表示二进制位0和1。当输入数据为0时,调制器选择f1频率进行调制;当输入数据为1时,调制器选择f2频率进行调制。FSK信号在时域上表现为频率不断切换的波形,具有明显的频率特征。
1.2 PSK信号
PSK调制技术通过改变载波相位来表示数字信息。在PSK调制中,每个二进制位对应一个特定的相位角度。常见的PSK调制方式有BPSK(二进制相移键控)和QPSK(四进制相移键控)。不同的相位角度代表不同的二进制位。PSK信号在时域上表现为相位不断切换的波形,具有明显的相位特征。
2 实验方案设计
- 生成FSK信号和PSK信号。
FSK信号:选择两个不同频率的正弦波作为调制信号,设定合适的调制频率。
PSK信号:选择一个固定频率的正弦波作为载波信号,设定合适的相位变化规律。
- 计算FSK信号的信号包络峰均比。
使用hilbert函数提取FSK信号的包络。计算包络的均方根和峰值从而计算出峰均比。
- 循环进行功率谱密度计算。
根据信号长度设置FFT变换长度。使用fft函数计算FSK信号和PSK信号的功率谱密度。随机生成n个FSK和PSK信号,将功率谱密度计算值结果累加,将计算结果除以实验次数n求平均功率谱密度。
- 对平均功率谱密度进行平滑处理。
利用movmean函数对FSK信号和PSK信号的功率谱密度进行平滑处理。
3 程序代码及注释
clear all % FSK信号参数 fs = 5000; % 采样率 f1 = 50; % 低频信号频率 f2 = 500; % 高频信号频率 T = 2; % 信号总时长 N = 50; %数据码元个数 m = 1; %PSK信号参数 f = 100; % 信号频率 % 生成FSK信号 data = randi([0, 1], 1, N); % 生成包含N个0和1的随机数序列,产生随机数据做为数据码元 bit_duration = T / length(data); % 每个比特的持续时间 t_bit = 0:1/fs:bit_duration-1/fs; % 每个比特的时间序列 fsk_signal = []; for i = 1:length(data) t = (i-1)*bit_duration + t_bit; % 当前比特时间序列 %在fsk_signal后面添加cos(2*pi*f*t) if data(i) == 0 fsk_signal = [fsk_signal m*cos(2*pi*f1*t)]; % 低频信号部分 else % data(i) == 1 fsk_signal = [fsk_signal m*cos(2*pi*f2*t)]; % 高频信号部分 end end psk_signal = []; for i = 1:length(data) t = (i-1)*bit_duration + t_bit; % 当前比特时间序列 % 添加cos(2*pi*f*t)或cos(2*pi*f*t + pi) if data(i) == 0 psk_signal = [psk_signal m*cos(2*pi*f*t)]; % 相位不变 else % data(i) == 1 psk_signal = [psk_signal m*cos(2*pi*f*t + pi)]; % 相位翻转 end |