利用MATLAB分析低通滤波器,高通滤波器,带通滤波器,全通滤波器时域冲激响应波形、频域内幅频特性、相频特性的代码
时间: 2023-08-22 18:03:41 浏览: 131
好的,下面是针对低通滤波器、高通滤波器、带通滤波器和全通滤波器的MATLAB分析步骤和代码:
1. 低通滤波器
```
% 滤波器参数
fc = 1000; % 截止频率
fs = 8000; % 采样频率
[b,a] = butter(1,fc/(fs/2)); % 一阶低通滤波器系数
% 计算频率响应
[H,f] = freqz(b,a,1024,fs);
% 绘制幅频特性
figure;
subplot(2,1,1);
plot(f,20*log10(abs(H)));
xlabel('频率(Hz)'); ylabel('增益(dB)');
title('低通滤波器幅频特性');
% 绘制相频特性
subplot(2,1,2);
plot(f,angle(H)*180/pi);
xlabel('频率(Hz)'); ylabel('相位(度)');
title('低通滤波器相频特性');
% 计算时域响应
h = impz(b,a);
% 绘制时域响应波形
figure;
plot(h);
xlabel('样本'); ylabel('幅值');
title('低通滤波器时域响应波形');
```
2. 高通滤波器
```
% 滤波器参数
fc = 1000; % 截止频率
fs = 8000; % 采样频率
[b,a] = butter(1,fc/(fs/2),'high'); % 一阶高通滤波器系数
% 计算频率响应
[H,f] = freqz(b,a,1024,fs);
% 绘制幅频特性
figure;
subplot(2,1,1);
plot(f,20*log10(abs(H)));
xlabel('频率(Hz)'); ylabel('增益(dB)');
title('高通滤波器幅频特性');
% 绘制相频特性
subplot(2,1,2);
plot(f,angle(H)*180/pi);
xlabel('频率(Hz)'); ylabel('相位(度)');
title('高通滤波器相频特性');
% 计算时域响应
h = impz(b,a);
% 绘制时域响应波形
figure;
plot(h);
xlabel('样本'); ylabel('幅值');
title('高通滤波器时域响应波形');
```
3. 带通滤波器
```
% 滤波器参数
f1 = 1000; % 通带截止频率1
f2 = 2000; % 通带截止频率2
fs = 8000; % 采样频率
[b,a] = butter(1,[f1/(fs/2),f2/(fs/2)],'bandpass'); % 一阶带通滤波器系数
% 计算频率响应
[H,f] = freqz(b,a,1024,fs);
% 绘制幅频特性
figure;
subplot(2,1,1);
plot(f,20*log10(abs(H)));
xlabel('频率(Hz)'); ylabel('增益(dB)');
title('带通滤波器幅频特性');
% 绘制相频特性
subplot(2,1,2);
plot(f,angle(H)*180/pi);
xlabel('频率(Hz)'); ylabel('相位(度)');
title('带通滤波器相频特性');
% 计算时域响应
h = impz(b,a);
% 绘制时域响应波形
figure;
plot(h);
xlabel('样本'); ylabel('幅值');
title('带通滤波器时域响应波形');
```
4. 全通滤波器
```
% 滤波器参数
fc = 1000; % 截止频率
fs = 8000; % 采样频率
[b,a] = allpass(fc/(fs/2)); % 全通滤波器系数,allpass是MATLAB中的函数
% 计算频率响应
[H,f] = freqz(b,a,1024,fs);
% 绘制幅频特性
figure;
subplot(2,1,1);
plot(f,20*log10(abs(H)));
xlabel('频率(Hz)'); ylabel('增益(dB)');
title('全通滤波器幅频特性');
% 绘制相频特性
subplot(2,1,2);
plot(f,angle(H)*180/pi);
xlabel('频率(Hz)'); ylabel('相位(度)');
title('全通滤波器相频特性');
% 计算时域响应
h = impz(b,a);
% 绘制时域响应波形
figure;
plot(h);
xlabel('样本'); ylabel('幅值');
title('全通滤波器时域响应波形');
```
希望这些信息能对您有所帮助。如果您有更详细的问题或需要更深入的分析方法,请随时问我。
阅读全文