当前位置:   article > 正文

MFSK的matlab仿真(以4FSK为例)_4fsk和2fsk的波形区别

4fsk和2fsk的波形区别

        FSK调制是基本的数字频带传输,本文将大致介绍FSK,并以4FSK为例,利用相干解调的方法,做一个matlab仿真

        参考教材:《通信原理(第二版)》 李晓峰 周宁 邵怀宗 朱立东 编著

一、2FSK基本原理

1.2FSK

        2FSK利用两个频率(f1和f2)的正弦波来传送符号1和0,其信号可以表述为

s_{2FSK}(t)=\begin{cases} & \text{ if } a_n=1\: \; Am(t)\cos (2\pi f_1t) \\ & \text{ if } a_n=0\; \, Am(t)cos (2\pi f_0t) \end{cases}

         实现电路可以是简单的电子开关。

        其实,2FSK信号是两个频率的正弦波的交错组合,可以表示为

s_{2FSK}(t)=Am(t)\cos (2\pi f_1t)+A\overline{m(t)}\cos (2\pi f_0t)

        式中,A为载波的振幅,m(t)为符号序列{a_n}的单极性矩形NRZ基带信号,\overline{m(t)}=1-m(t)为反相信号,这表明2FSK信号可以看作两路互补的OOK信号的叠加。

2.相位连续性

        由之前的公式产生的信号在1和0码转换处很可能是不连续的,不连续的信号会占据很多频带。产生连续香味的FSK信号的一种方法是合理选择T_b,f_1,f_0的取值,可以用桑德FSK信号参数

f_1=(k+1)R_b\: \: \: \: \: \: \: \: \: \: \: \: f_0=kR_b

        另一种方法是按照模拟FM的方法,通过压控振荡器(VCO) 来产生,如图所示,信号可以表示为

s_{2 \mathrm{FSK}}(t)=A \cos \left[2 \pi f_{\mathrm{c}} t+D_{f} \int_{-\infty}^{t} m(\tau) \mathrm{d} \tau\right]

        其中f_c=(f_1+f_2)/2,D_f是调频器的频偏常量。

3.包络检波法

        2FSK常用的解调方法是包络检波法,属于非相干解调,接收框图如下图所示,它实际上是工作在f_1f_0上的两个互补的OOK接收系统的组合。该系统的要点是

        (1)上支路接收的Am(t)\cos (2\pi f_1t)的部分,下支路接收的是A\overline{m(t)}\cos (2\pi f_0t)的部分。必须满足\left | f_1-f_0 \right |\geqslant R_b,两个BPF才能分离开两路OOK信号。

        (2)上、下支路包络检波器的输出y_1(t)y_0(t)是互补对称的 。

        (3)两支路的抽样值分别是y_1y_0,判决准则为

4.误码率

        假定AWGN信道中噪声双边功率谱密度为N_0/2,该接收系统的误码率为

P_e\approx \frac{​{1}}{2}\exp (-(E_b/N_0)/2)

        其中,E_b=\frac{A^{2}T_b}{2},是2FSK信号的平均比特能量。

5.带宽

        2FSK信号的带宽定义为:两个频峰外侧边缘间的距离,即

B_{2FSK}=\left |f_1-f_0 \right |+2B

\left |f_1-f_0 \right |的理论最小间距是R_b/2,结合基带信号的理论最小带宽为R_b/2,因此2FSK信号的最小带宽为B_{2FSK}=1.5R_b

二、MFSK基本原理

1.MFSK表达式

        MFSK是多元频移键控的简称,信号可以表示为

s_{MFSK}(t)=Ag_T(t)\cos (2\pi f_nt),(n-1)T_s\leqslant t \leqslant nT_s

        通常规定f_n等间距,最小频率间隔为R_s/2

2.MFSK解调

        MFSK解调通常采用包络检波法,接收框图如下:

         在本代码中,采用的是相干借解调法,相干解调步骤如下:

        首先讲4FSK信号进行混频,即乘上各路载波,混频后再经过低通滤波器,经过低通滤波器后的波形如下:

        此时峰值就是信号0、1、2、3各自出现的位置,此时我们在经过抽样判决,将它们所在位置画成方波,最后通过相加得到原来的波形。

三、4FSK调制及相干解调matlab代码

  1. clear ; % 清除所有变量
  2. close all; % 关闭所有窗口
  3. clc; % 清屏
  4. %% 基本参数
  5. % N=4; % 调制阶数
  6. M=100; % 产生符号数
  7. L=100; % 每码元复制L次,每个码元采样次数
  8. Ts=0.001; % 每个码元的宽度,即码元的持续时间
  9. R=1/Ts; % 码元速率1K
  10. dt=Ts/L; % 采样间隔
  11. TotalT=M*Ts; % 总时间
  12. t=0:dt:TotalT-dt; % 时间
  13. Fs=1/dt; % 采样间隔的倒数即采样频率
  14. %% 确定传输信号
  15. wave=randi([0, 3], 1, M); %产生发送比特数据;
  16. %% 画出基带信号图形
  17. figure(1)
  18. fz=ones(1,L); % 定义复制的次数L,L为每码元的采样点数
  19. x1=wave(fz,:); % 将原来wave的第一行复制L次,称为L*M的矩阵
  20. jidai=reshape(x1,1,L*M);% 产生单极性不归零矩形脉冲波形,将刚得到的L*M矩阵,按列重新排列形成1*(L*M)的矩阵
  21. subplot(2,2,1)
  22. plot(t,jidai);
  23. title("基带信号波形") % 标题
  24. xlabel('时间'); % x轴标签
  25. ylabel('幅度'); % y轴标签
  26. %% 4FSK调制
  27. modulated_signal = zeros(1, length(t)); % 初始化调制信号
  28. fre1=2500;
  29. f1= fre1;
  30. f2= fre1+125;
  31. f3= fre1+250;
  32. f4= fre1+375;
  33. for i = 1:M
  34. % 根据每个元素值选择相应的频率
  35. switch wave(i)
  36. case 0
  37. freq = f1;
  38. case 1
  39. freq =f2;
  40. case 2
  41. freq =f3;
  42. case 3
  43. freq =f4;
  44. otherwise
  45. error('Invalid input data');
  46. end
  47. % 生成调制信号
  48. modulated_signal((i - 1) * L + 1:i * L) = cos(2 * pi * freq * t((i - 1) * L + 1:i * L));
  49. end
  50. %% 画出调制后的图像和频谱图
  51. %画出4FSK图像
  52. subplot(2,2,3)
  53. plot(t,modulated_signal,'b',t,(jidai-1.5),'r');
  54. title("4FSK信号波形") % 标题
  55. xlabel('时间'); % x轴标签
  56. ylabel('幅度'); % y轴标签
  57. %画出频谱图
  58. %信源频谱
  59. T=t(end); % 时间
  60. df=1/T; % 频谱分辨率
  61. N=length(modulated_signal); % 采样长度
  62. f=(-N/2:N/2-1)*df; % 频率范围
  63. mf=fftshift(abs(fft(jidai)));%对信源信号采用快速傅里叶变换并移到矩阵中心
  64. subplot(2,2,2)
  65. plot(f,mf) % 绘制信源频谱波形
  66. axis([-0,10000,-0.1,15000]);
  67. title("基带信号频谱") % 标题
  68. xlabel('频率/Hz'); % x轴标签
  69. ylabel('幅度'); % y轴标签
  70. grid;
  71. %4FSK信号频谱
  72. sf=fftshift(abs(fft(modulated_signal)));% 对2FSK信号采用快速傅里叶变换并将0-fs频谱移动到-fs/2-fs/2
  73. subplot(2,2,4)
  74. plot(f,sf) % 绘制调制信号频谱
  75. axis([-0,10000,-0.1,1500]);
  76. title("4FSK信号频谱") % 标题
  77. xlabel('频率/Hz'); % x轴标签
  78. ylabel('幅度'); % y轴标签
  79. grid;

        完整代码移步 4FSK信号调制-matlab-MFSK-相干解调-通信原理进行下载~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/IT小白/article/detail/482456
推荐阅读
相关标签
  

闽ICP备14008679号