1.FM的模拟调制过程
FM信号是一种频率调制信号,其携带的信息生存在其信号的频率中,通过改变载波的频率来实现基带数据的传输。
其函数表达式如下:
\[s(t) = A*cos(w_c*t + K_f*\int m(\tau) d\tau)\]
其中:
A:表现载波幅度。
\(m(\tau)\):表现基带信号。
\(w_c\):表现载波信军号度增量。
\(K_f\):是调频灵敏度。
正交调制法公式如下:
\[\begin{array}{3} I(t) = cos(K_f*\int m(\tau) d\tau) \\ Q(t) = sin(K_f*\int m(\tau) d\tau) \\ s(t) = A*(I(t)*cos(w_c*t) - Q(t)*sin(w_c*t)) \end{array}\]
2.FM的数字正交解调
原理:
<img > 对于I路:
\[I(n) = cos(K_f*\int m(\tau) d\tau) = cos(K_f*\sum m(n))\]
对于Q路:
\[Q(n) = sin(K_f*\int m(\tau) d\tau) = sin(K_f*\sum m(n))\]
同时:
\[\begin{array}{c} \frac{Q(n)}{I(n)} = \frac{sin(K_f*\sum m(n))}{cos(K_f*\sum m(n))} = tan(K_f*\sum m(n)) \space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space\space (K_f*\sum m(n)) \in [-\pi/2\space\space\space\space\pi/2] \\SUM(n) = arctan(\frac{Q(n)}{I(n)}) = K_f*\sum m(n) \\M(n) = SUM(n) - SUM(n-1) = K_f* m(n)\end{array}\]
注:上式推算中使用了tan函数,其中tan的输入范围\([-\pi/2\space\space\space\space\pi/2]\)。当范围超过将盘算错误。所以将使用MATLAB的atan2函数进行盘算。
\[\begin{array}{c} SUM(n) = atan2(Q(n),I(n)) = K_f*\sum m(n) \\M(n) = SUM(n) - SUM(n-1) = K_f* m(n)\end{array}\]
3.MATLAB仿真
仿真代码:
[code]fs = 20000;%采样率l = 1E3;%基带信号点数f = 100;%基带信号f_c = 2000;%载波信号t = 0:1/fs l-1)/fs;mt = cos(2*pi*f*t);kf = fs * 0.4;%% IQ信号I = cos(kf*cumtrapz(t,mt));Q = sin(kf*cumtrapz(t,mt));%% 调制数据mod_data = I.*cos(2*pi*f_c*t) - Q.*sin(2*pi*f_c*t);%% 解调mmm = atan2(Q,I);demod = zeros(1,length(mmm));for i = 2:1:length(demod) demod(i) = mmm(i) - mmm(i-1); if(demod(i) >= pi) demod(i) = demod(i) - pi*2; elseif(demod(i) |