
用MATLAB设计滤波器
用MATLAB设计一个低通和带通滤波器,通带和阻带可以假定。MATLAB学的不好,最好有注释。...
用MATLAB设计一个低通和带通滤波器,通带和阻带可以假定。MATLAB学的不好,最好有注释。
展开
展开全部
%根据技术指标,设计FIR数字低通滤波器
%选汉明窗
wp=0.25*pi;ws=0.35*pi; %滤波器边界频率
wdelta=ws-wp; %过渡带宽
N=ceil(6.6*pi/wdelta) %汉宁Hanning窗函数主瓣宽求得滤波器所用窗函数的最小长度
Nw=N;
wc=(wp+ws)/2; %截止频率在通带和阻带边界频率的中点
n=0:N-1;
alpha=(N-1)/2; %求滤波器的相位延迟
m=n-alpha+eps; %eps为MATLAB系统的精度
hd=sin(wc*m)./(pi*m); %求理想滤波器脉冲响应
win=hamming(Nw); %采用汉明窗
h=hd.*win'; %在时间域乘积对应于频率域的卷积
b=h;
figure(1)
[H,f]=freqz(b,1,512);
subplot(2,1,1),plot(f,20*log10(abs(H)))
xlabel('频率/Hz');ylabel('振幅/dB');grid on;
subplot(2,1,2),plot(f,180/pi*(angle(H)))
xlabel('频率/Hz');ylabel('相位/^o');grid on;
设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为W1= 0.3π,w2=0.5π
%%用汉明窗窗设计线性相位带通滤波器
% Window=hamming(16);
% b=fir1(15,[0.3 0.5],Window);
% freqz(b,1)
%%用矩形窗窗设计线性相位带通滤波器
% Window=boxcar(16);
% b=fir1(15,[0.3 0.5],Window);
% freqz(b,1)
%%用blackman窗设计线性相位带通滤波器
% Window=blackman(16);
% b=fir1(15,[0.3 0.5],Window);
% freqz(b,1)
%选汉明窗
wp=0.25*pi;ws=0.35*pi; %滤波器边界频率
wdelta=ws-wp; %过渡带宽
N=ceil(6.6*pi/wdelta) %汉宁Hanning窗函数主瓣宽求得滤波器所用窗函数的最小长度
Nw=N;
wc=(wp+ws)/2; %截止频率在通带和阻带边界频率的中点
n=0:N-1;
alpha=(N-1)/2; %求滤波器的相位延迟
m=n-alpha+eps; %eps为MATLAB系统的精度
hd=sin(wc*m)./(pi*m); %求理想滤波器脉冲响应
win=hamming(Nw); %采用汉明窗
h=hd.*win'; %在时间域乘积对应于频率域的卷积
b=h;
figure(1)
[H,f]=freqz(b,1,512);
subplot(2,1,1),plot(f,20*log10(abs(H)))
xlabel('频率/Hz');ylabel('振幅/dB');grid on;
subplot(2,1,2),plot(f,180/pi*(angle(H)))
xlabel('频率/Hz');ylabel('相位/^o');grid on;
设计线性相位带通滤波器,其长度N=15,上下边带截止频率分别为W1= 0.3π,w2=0.5π
%%用汉明窗窗设计线性相位带通滤波器
% Window=hamming(16);
% b=fir1(15,[0.3 0.5],Window);
% freqz(b,1)
%%用矩形窗窗设计线性相位带通滤波器
% Window=boxcar(16);
% b=fir1(15,[0.3 0.5],Window);
% freqz(b,1)
%%用blackman窗设计线性相位带通滤波器
% Window=blackman(16);
% b=fir1(15,[0.3 0.5],Window);
% freqz(b,1)

2025-08-31 广告
上海满华有限公司成立于2007年11月,后于2012年12月正式更名为上海满花国际贸易有限公司。总部设于上海,分别在北京、成都、深圳、武汉设有办事处,并于2009年通过ISO9001认证。公司主要从事进出口贸易,通过多年的努力,业务范围已涵...
点击进入详情页
本回答由满花提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询