?? call_l2hp4.m
字號(hào):
% 《數(shù)字信號(hào)處理教程——MATLAB釋義與實(shí)現(xiàn)》第八章模擬濾波器頻帶變換演示程序的子程序
% 電子工業(yè)出版社出版 陳懷琛編著 2004年9月
% call_l2h4.m 繪制高通濾波器的圖形 坐標(biāo)的對(duì)應(yīng)關(guān)系已改 同時(shí)繪圖 data:12.12
function []=call_l2hp4(h1,h2);
axes(h1);hold off;
axes(h2);hold off;
%這里設(shè)低通濾波器的通帶衰減頻率為fc=1,阻帶衰減頻率為fs=2;帶通或帶阻濾波器的中心頻率f0 可以更改這些值
%給定的參數(shù)如下:(根據(jù)給定的設(shè)計(jì)其他濾波器的轉(zhuǎn)化公式得出fc ,fs,f0
%如果有必要的話,這些參數(shù)可以從主函數(shù)傳遞過(guò)來(lái),這樣子函數(shù)的原形變?yōu)? call_l2hp4(h1,h2,dt,T,fc,fs,f0)
%還可以在圖形上加edit控件,在調(diào)用本函數(shù)時(shí)得到其值 ,如: hedit1=uicontrol('style','edit',position',[ ]); dt=get(hedit1,'values');
dt=0.1;T=3; fc=1; fs=1.5; f0=5;omegac=2;
ws1=(T-fs)/dt+1; wc1=(T-fc)/dt+1; wc2=(T+fc)/dt+2; ws2=(T+fs)/dt+2; w0=T/dt+1;
pl2=[0:dt:T]; %原始低通濾波器所選的坐標(biāo)范圍,可以改變!
pl1=[-T:dt:T];
p1=pl1*j;
plp5=transform(pl2,f0,omegac,'lp2lp');
p5 =plp5*j;
php2=transform(pl2,f0,omegac,'lp2hp'); %從低通濾波器坐標(biāo)范圍變換來(lái)的高通濾波器的范圍,一一對(duì)應(yīng)的關(guān)系
p2=php2*j;
pbp3=transform(pl2,f0,omegac,'lp2bp');
p3=j*pbp3;
pbs4=transform(pl2,f0,omegac,'lp2bs'); %在作為帶阻濾波器設(shè)計(jì)時(shí)可以用到
p4=j*pbs4;
for i=1:length(p1)
hl1(i)=1/abs((p1(i)^2 + 0.6180*p1(i) + 1)*(p1(i)^2 + 1.6180*p1(i) + 1)*(p1(i)+1));
end
hh1=hl1;
hbp1=hl1;
hbs1=hl1;
p1=[-T:dt:T]; %在定坐標(biāo)時(shí)要把虛號(hào)去掉
mark1=1;mark2=1;
for i=2:length(p2)
%低通濾波器
axes(h1);
if (i<=ws1 | i>=ws2) %這里10表示 1/0.1;
plot([p1(i-1),p1(i)],[hl1(i-1),hl1(i)],'color','r');axis([-T,T,0,1.2]);hold on
elseif ((i>ws1 & i<=wc1)|(i>=wc2 & i<ws2)) %這里24表示2.4/0.1;
plot([p1(i-1),p1(i)],[hl1(i-1),hl1(i)],'color','b');axis([-T,T,0,1.2]);hold on
else
plot([p1(i-1),p1(i)],[hl1(i-1),hl1(i)],'color','c');axis([-T,T,0,1.2]);hold on
end
%高通濾波器繪制
axes(h2);
if (i<=ws1 | i>=ws2)
plot([php2(i-1),php2(i)],[hh1(i-1),hh1(i)],'color','r');axis([-T,T,0,1.2]);hold on
elseif ((i>ws1 & i<=wc1) | (i>=wc2 & i<ws2))
plot([php2(i-1),php2(i)],[hh1(i-1),hh1(i)],'color','b');axis([-T,T,0,1.2]);hold on
elseif (i==w0)
plot([php2(i),php2(i)],[hh1(i),hh1(i)],'color','c');axis([-T,T,0,1.2]);hold on
else
plot([php2(i-1),php2(i)],[hh1(i-1),hh1(i)],'color','c');axis([-T,T,0,1.2]);hold on
end
pause(0.2);
end
%plot([fp,fp],[0,hh1(fp/0.1+1)],'linestyle','-.','color','g');
%plot([-fp,-fp],[0,hh1(fp/0.1+1)],'linestyle','-.','color','g');
%plot([,fs],[0,hh1(fs/0.1+1)],'color','r');
%plot([-fs,-fs],[0,hh1(fs/0.1+1)],'color','r');
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -