10.7MHzFM中频信号的AD带通采样的MATLAB
时间: 2023-10-07 17:12:58 浏览: 99
实现:
假设已经获取到10.7MHz FM信号的基带信号,并且已经进行了10.7MHz的下变频,得到了中频信号。现在需要对中频信号进行AD带通采样,保留2kHz到4kHz的频率范围内的信号。
1. 设置采样率和采样时间
采样率应该大于信号的最高频率2kHz的两倍,因此可以设置为8kHz。采样时间可以根据需要设置为1秒或更长。
fs = 8000; % 采样率
t = 0:1/fs:1-1/fs; % 采样时间
2. 生成中频信号
为了演示,可以生成一个简单的中频信号,也可以使用已经获取的中频信号。
fc = 10.7e6; % 载波频率
fm = 10e3; % 调制频率
kf = 2; % 调制指数
m = cos(2*pi*fm*t); % 调制信号
x = cos(2*pi*fc*t + 2*pi*kf*cumsum(m)); % 中频信号
3. 进行AD带通采样
使用MATLAB的fir1函数可以生成一个带通滤波器,保留2kHz到4kHz的频率范围内的信号。然后使用MATLAB的filter函数对中频信号进行滤波,得到AD带通采样的信号。
f1 = 2e3; % 通带下限频率
f2 = 4e3; % 通带上限频率
n = 101; % 滤波器阶数
b = fir1(n, [f1 f2]/(fs/2)); % 带通滤波器系数
y = filter(b, 1, x); % AD带通采样信号
4. 绘制结果
使用MATLAB的subplot函数可以在同一图中绘制多个信号,使用MATLAB的fft函数可以进行频谱分析。
subplot(2,1,1);
plot(t, x);
ylabel('原始信号');
subplot(2,1,2);
plot(t, y);
ylabel('AD带通采样信号');
xlabel('时间(秒)');
figure;
subplot(2,1,1);
plot(abs(fft(x)));
ylabel('原始信号频谱');
subplot(2,1,2);
plot(abs(fft(y)));
ylabel('AD带通采样信号频谱');
xlabel('频率(Hz)');
运行该代码,可以看到原始信号和AD带通采样信号的时域波形,以及它们的频域波形。可以看到,AD带通采样信号只保留了2kHz到4kHz的频率范围内的信号。
阅读全文