[n, fo, mo, w] = remezord([1500 2000], [1 0], [0.01 0.1], 8000);
b = remez(n, fo, mo, w);
%[h w] = freqz(b, 1, 128);
%plot(w/pi, abs(h));
freqz(b, 1, 128);
2\
[n,fpts,mag,wt]=remezord([0.3 0.45 0.65 0.8],[0 1 0],[0.01 0.1087 0.01]);%用remezord函数估算出remez函数要用到的阶n、归一化频带边缘矢量fpts、频带内幅值响应矢量mag及加权矢量w,使remez函数设计出的滤波器满足f、a及dev指定的性能要求。
h2=remez(n,fpts,mag,wt);%设计出等波纹滤波器
[hh2,w2]=freqz(h2,1,256);
figure(2)
subplot(2,1,1)
plot(w2/pi,20*log10(abs(hh2)))
grid
xlabel('归一化频率w');ylabel('幅度/db');
subplot(2,1,2)
plot(w2/pi,angle(hh2))
grid
xlabel('归一化频率w');ylabel('相位/rad');
h2
3\
fedge=[800 1000];
%通频带边界频率fc=800Hz 阻带边界fr=1000Hz
%gedge:通带、阻带边界频率
%mval:两个边界处的幅值
mval=[1 0];
%dev:指定设计出的滤波器和理想滤波器的幅度响应在每个频带的最大允许误差,通带和阻带的波动
dev=[0.0559 0.01];
%采样频率fs=4000
fs=4000;
%N:频带的阶数
%fpts:归一化后的各频带的边界频率
%mag:归一化后的各频带幅度值a
%wt:加权系数
%fedge:各频带的边界频率,为模拟频率(Hz)或归一化数字频率,但必须以0开始,Fs/2(用归一化频率时对应1)结束,而且省略了0和Fs/2两个频点
%mval:mval中的每个元素表示fedge给定的一个逼近频段上希望逼近的幅度
%dev:表示fedge和mval描述的各逼近频段允许的波纹振幅(幅频响应最大偏差)
%fs:采样频率,缺省时默认为2Hz
[N,fpts,mag,wt]=remezord(fedge,mval,dev,fs);
%N:频带阶数
%fpts:滤波器期望频率特性的频率向量标准化频率 一般0~1 (递增向量,允许定义重复频点)
%mag:滤波器期望频率特性的幅值向量
%wt:函数返回的吕滤波器系数(N+1)
b=remez(N,fpts,mag,wt);%设计出等波纹滤波器
%freqz:求离散系统的频响特性
%h:频率响应,以向量形式返回,如果指定n,则h长度为n,如未指定n或指定n未、为空向量,则h长度为512
%返回具有存储在b和1中的传递函数系数的数字滤波器的n点频率响应矢量h和相应的角频率矢量w
[h,w]=freqz(b,1,256)
%%
%画图
%原图
figure(1)
plot(w*2000/pi,h);
grid;
xlabel('频率/Hz') ;ylabel('幅度/dB');
title("原图")
%幅频图
figure(2)
plot(w*2000/pi,20*log10(abs(h)));
grid;
xlabel('频率/Hz') ;ylabel('幅度/dB');
title("FIR滤波器后幅频图")
%相位幅
figure(3)
plot(w*2000/pi,angle(h));
grid;
xlabel('归一化频率w');ylabel('相位/rad');
title("FIR滤波器后相频图图")
4\
h2=remez(n,fpts,mag,wt);%设计出等波纹滤波器
%n:频带阶数
%fpts:滤波器期望频率特性的频率向量标准化频率 一般0~1 (递增向量,允许定义重复频点)
%mag:滤波器期望频率特性的幅值向量
%b:函数返回的吕滤波器系数(n+1)
%freqz:求离散系统的频响特性
%hh2:频率响应,以向量形式返回,如果指定n,则hh2长度为n,如未指定n或指定n未、为空向量,则hh2长度为512
[hh2,w2]=freqz(h2,1,256);
%返回具有存储在h2和1中的传递函数系数的数字滤波器的n点频率响应矢量hh2和相应的角频率矢量w2。
%%
%画图
figure(2)
subplot(2,1,1)
plot(w2/pi,20*log10(abs(hh2)))
grid
%grid:网格
xlabel('归一化频率w');ylabel('幅度/db');
subplot(2,1,2)
plot(w2/pi,angle(hh2))
grid
xlabel('归一化频率w');ylabel('相位/rad');