matlab对10.7MHzFM中频信号进行AD带通采样
时间: 2023-09-30 21:08:15 浏览: 29
中频带通采样技术
5星 · 资源好评率100%
% 假设中频信号已经在10.7 MHz附近,需要进行AD带通采样
% 采样频率设定为50 MHz
% 生成时间序列
fs = 50e6; % 采样频率为50 MHz
t = 0 : 1/fs : 1e-3; % 采样1毫秒
N = length(t); % 采样点数
% 生成中频信号
fm = 10.7e6; % 中频频率为10.7 MHz
im = cos(2*pi*fm*t);
% 设定带通滤波器参数
fp1 = 10.6e6; % 通带左端频率10.6 MHz
fp2 = 10.8e6; % 通带右端频率10.8 MHz
fs1 = 10.5e6; % 阻带左端频率10.5 MHz
fs2 = 10.9e6; % 阻带右端频率10.9 MHz
Rp = 1; % 通带最大衰减1 dB
As = 60; % 阻带最小衰减60 dB
% 计算带通滤波器的通带截止频率和带宽
fc = (fp1 + fp2) / 2; % 通带中心频率
bw = fp2 - fp1; % 通带带宽
% 计算带通滤波器的阶数和截止频率
[n, Wc] = buttord(2*pi*fc, 2*pi*bw, Rp, As, 's'); % 计算巴特沃斯滤波器的阶数和截止频率
% 生成带通滤波器的分母和分子多项式系数
[b, a] = butter(n, Wc, 's');
% 频率响应曲线
freqz(b, a);
% 用带通滤波器对中频信号进行数字滤波
y = filter(b, a, im);
% 进行AD采样
F = 30e6; % 采样频率为30 MHz
ts = 1/F; % 采样周期
M = round(F/fs); % 采样倍数
yn = y(1:M:N); % 每隔M个采样点取一个采样值
% 绘制采样前后的波形
figure;
subplot(2,1,1);
plot(t*1e6, im);
title('原始中频信号');
xlabel('时间(微秒)');
ylabel('幅度');
grid on;
subplot(2,1,2);
plot((0:length(yn)-1)*ts*1e6, yn);
title('AD带通采样信号');
xlabel('时间(微秒)');
ylabel('幅度');
grid on;
阅读全文