matlab对10.7MHz的FM信号进行采样和正交解调
时间: 2023-09-08 16:17:15 浏览: 98
以下是MATLAB代码实现对10.7MHz的FM信号进行采样和正交解调。
```matlab
% 设置采样频率和采样点数
fs = 44.1e6;
N = 2^20;
% 生成10.7MHz的FM信号
fc = 10.7e6;
fm = 100e3;
kf = 75e3;
t = (0:N-1)/fs;
x = cos(2*pi*fc*t + 2*pi*kf*cumsum(sin(2*pi*fm*t))/fs);
% 进行采样
Ts = 1/fs;
n = 0:N-1;
xn = x .* exp(-1j*2*pi*fc*n*Ts);
% 正交解调
Fc = 10.7e6;
fsd = 250e3;
Nsd = N/4;
tsd = (0:Nsd-1)/fsd;
sc = exp(1j*2*pi*Fc*tsd);
% 求信号在正交基上的投影
yr = xn .* real(sc);
yi = xn .* imag(sc);
% 低通滤波,获取基带信号
fcutoff = 20e3;
[b,a] = butter(6, fcutoff/(fsd/2));
y = filtfilt(b,a,yr) - 1j*filtfilt(b,a,yi);
```
首先,我们设置采样频率为44.1MHz,采样点数为2^20。然后,生成10.7MHz的FM信号。接下来,进行采样,即将信号乘以复指数,得到离散的信号。
在进行正交解调之前,我们需要选择一个正交基。在这里,我们选择一个复指数序列,其频率为10.7MHz,采样频率为250kHz。我们将信号在正交基上的投影分别乘以正交基的实部和虚部,即可得到两路解调信号。
最后,我们将这两路信号进行低通滤波,获取基带信号。在这里,我们使用6阶Butterworth滤波器,截止频率为20kHz。
阅读全文