赞
踩
FSK调制是基本的数字频带传输,本文将大致介绍FSK,并以4FSK为例,利用相干解调的方法,做一个matlab仿真。
参考教材:《通信原理(第二版)》 李晓峰 周宁 邵怀宗 朱立东 编著
2FSK利用两个频率(f1和f2)的正弦波来传送符号1和0,其信号可以表述为
实现电路可以是简单的电子开关。
其实,2FSK信号是两个频率的正弦波的交错组合,可以表示为
式中,A为载波的振幅,m(t)为符号序列的单极性矩形NRZ基带信号,为反相信号,这表明2FSK信号可以看作两路互补的OOK信号的叠加。
由之前的公式产生的信号在1和0码转换处很可能是不连续的,不连续的信号会占据很多频带。产生连续香味的FSK信号的一种方法是合理选择,的取值,可以用桑德FSK信号参数
另一种方法是按照模拟FM的方法,通过压控振荡器(VCO) 来产生,如图所示,信号可以表示为
其中,是调频器的频偏常量。
2FSK常用的解调方法是包络检波法,属于非相干解调,接收框图如下图所示,它实际上是工作在和上的两个互补的OOK接收系统的组合。该系统的要点是
(1)上支路接收的的部分,下支路接收的是的部分。必须满足,两个BPF才能分离开两路OOK信号。
(2)上、下支路包络检波器的输出和是互补对称的 。
(3)两支路的抽样值分别是和,判决准则为
假定AWGN信道中噪声双边功率谱密度为,该接收系统的误码率为
其中,,是2FSK信号的平均比特能量。
2FSK信号的带宽定义为:两个频峰外侧边缘间的距离,即
的理论最小间距是,结合基带信号的理论最小带宽为,因此2FSK信号的最小带宽为。
MFSK是多元频移键控的简称,信号可以表示为
通常规定等间距,最小频率间隔为。
MFSK解调通常采用包络检波法,接收框图如下:
在本代码中,采用的是相干借解调法,相干解调步骤如下:
首先讲4FSK信号进行混频,即乘上各路载波,混频后再经过低通滤波器,经过低通滤波器后的波形如下:
此时峰值就是信号0、1、2、3各自出现的位置,此时我们在经过抽样判决,将它们所在位置画成方波,最后通过相加得到原来的波形。
- clear ; % 清除所有变量
- close all; % 关闭所有窗口
- clc; % 清屏
- %% 基本参数
- % N=4; % 调制阶数
- M=100; % 产生符号数
- L=100; % 每码元复制L次,每个码元采样次数
- Ts=0.001; % 每个码元的宽度,即码元的持续时间
- R=1/Ts; % 码元速率1K
- dt=Ts/L; % 采样间隔
- TotalT=M*Ts; % 总时间
- t=0:dt:TotalT-dt; % 时间
- Fs=1/dt; % 采样间隔的倒数即采样频率
- %% 确定传输信号
- wave=randi([0, 3], 1, M); %产生发送比特数据;
-
- %% 画出基带信号图形
- figure(1)
- fz=ones(1,L); % 定义复制的次数L,L为每码元的采样点数
- x1=wave(fz,:); % 将原来wave的第一行复制L次,称为L*M的矩阵
- jidai=reshape(x1,1,L*M);% 产生单极性不归零矩形脉冲波形,将刚得到的L*M矩阵,按列重新排列形成1*(L*M)的矩阵
- subplot(2,2,1)
- plot(t,jidai);
- title("基带信号波形") % 标题
- xlabel('时间'); % x轴标签
- ylabel('幅度'); % y轴标签
- %% 4FSK调制
- modulated_signal = zeros(1, length(t)); % 初始化调制信号
-
-
- fre1=2500;
- f1= fre1;
- f2= fre1+125;
- f3= fre1+250;
- f4= fre1+375;
- for i = 1:M
- % 根据每个元素值选择相应的频率
- switch wave(i)
- case 0
- freq = f1;
- case 1
- freq =f2;
- case 2
- freq =f3;
- case 3
- freq =f4;
- otherwise
- error('Invalid input data');
- end
- % 生成调制信号
- modulated_signal((i - 1) * L + 1:i * L) = cos(2 * pi * freq * t((i - 1) * L + 1:i * L));
- end
-
- %% 画出调制后的图像和频谱图
- %画出4FSK图像
- subplot(2,2,3)
- plot(t,modulated_signal,'b',t,(jidai-1.5),'r');
- title("4FSK信号波形") % 标题
- xlabel('时间'); % x轴标签
- ylabel('幅度'); % y轴标签
- %画出频谱图
- %信源频谱
- T=t(end); % 时间
- df=1/T; % 频谱分辨率
- N=length(modulated_signal); % 采样长度
- f=(-N/2:N/2-1)*df; % 频率范围
- mf=fftshift(abs(fft(jidai)));%对信源信号采用快速傅里叶变换并移到矩阵中心
- subplot(2,2,2)
- plot(f,mf) % 绘制信源频谱波形
- axis([-0,10000,-0.1,15000]);
- title("基带信号频谱") % 标题
- xlabel('频率/Hz'); % x轴标签
- ylabel('幅度'); % y轴标签
- grid;
- %4FSK信号频谱
- sf=fftshift(abs(fft(modulated_signal)));% 对2FSK信号采用快速傅里叶变换并将0-fs频谱移动到-fs/2-fs/2
- subplot(2,2,4)
- plot(f,sf) % 绘制调制信号频谱
- axis([-0,10000,-0.1,1500]);
- title("4FSK信号频谱") % 标题
- xlabel('频率/Hz'); % x轴标签
- ylabel('幅度'); % y轴标签
- grid;
完整代码移步 4FSK信号调制-matlab-MFSK-相干解调-通信原理进行下载~
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。