一、实验目的
学会根据滤波需求确定滤波器指标参数。
学习利用MATLAB设计IIR数字滤波器,掌握基于MATLAB的数字滤波器实现方法。
熟悉用双线性变换法设计IIR数字滤波器的原理与方法。
通过观察滤波器输入、输出信号的时域波形及其频谱,建立数字滤波的概念。
二、 实验内容与步骤
1.生成一个含有抑制载波单频调幅信号。已知抑制载波单频调幅信号的数学表达式为
其中,称为载波,
为载波频率,
为单频调制信号,
为调制正弦信号频率,且满足
。
1)请编程获取一个三路调幅信号的和信号,三路信号的载波频率分别为250Hz、500Hz和1000Hz,调制信号频率为25Hz,并输出该和信号的时域曲线。
2)利用FFT对该和信号进行信号分析,获取并输出其频谱。
3)根据所学知识,对其频谱进行分析和解释。
Fs = 5000; % 采样频率
T = 1/Fs;
N = 1600; % 采样点数
Tp=N*T;
t = (0:N-1) * T; % 时间数组
fo = 25; % 调制信号频率
fc_values = [250, 500, 1000]; % 载波频率
% 生成三路调幅信号
st_sum = zeros(1, N);
for fc = fc_values
xt = cos(2 * pi * fo * t) .* cos(2 * pi * fc * t);
st_sum = st_sum + xt;
end
% 时域曲线
figure;
subplot(2, 1, 1);
plot(t, st_sum);
title('时域曲线');
xlabel('时间 (s)');
ylabel('幅度');
% 频谱分析
F = fft(st_sum, N);
f = linspace(0, Fs, N);
subplot(2, 1, 2);
stem(f, abs(F)/max(abs(F)),'.');
title('频谱分析');
xlabel('频率 (Hz)');
ylabel('|S(f)|');
axis([0, 1200, -0.1, 1.2]);