早教吧 育儿知识 作业答案 考试题库 百科 知识分享

求一些程序的逐行解释%ProgramP54%DesignofAnalogLowpassFilterclf;Fp=3500;Fs=4500;Wp=2*pi*Fp;Ws=2*pi*Fs;[N,Wn]=buttord(Wp,Ws,0.5,30,'s');[b,a]=butter(N,Wn,'s');wa=0:(3*Ws)/511:3*Ws;h=freqs(b,a,wa);plot(wa/(2*pi),20*lo

题目详情
求一些程序的逐行解释
% Program P5_4% Design of Analog Lowpass Filter clf;Fp = 3500;Fs = 4500;Wp = 2*pi*Fp; Ws = 2*pi*Fs;[N,Wn] = buttord(Wp,Ws,0.5,30,'s');[b,a] = butter(N,Wn,'s');wa = 0:(3*Ws)/511:3*Ws;h = freqs(b,a,wa);plot(wa/(2*pi),20*log10(abs(h)));gridxlabel('Frequency,Hz');ylabel('Gain,dB');title('Gain response');axis([0 3*Fs -60 5]);

▼优质解答
答案和解析
% Program P5_4
% Design of Analog Lowpass Filter
%以上两行是注释
clf;
%清空图像
Fp = 3500;Fs = 4500;
%赋值两个变量
Wp = 2*pi*Fp; Ws = 2*pi*Fs;
%计算两个值
[N, Wn] = buttord(Wp, Ws, 0.5, 30,'s');
%buttord函数的用法为: [n,Wn]= buttord(Wp,Ws,Rp,Rs) 其中Wp和Ws分别是通带和阻带的拐角频率(截止频率),其取值范围为0至1之间.当其值为1时代表采样频率的一半.Rp和Rs分别是通带和阻带区的波纹系数.
[b,a] = butter(N, Wn, 's');
%butter函数的用法为:[b,a]=butter(n,Wn,/ftype/) 其中n代表滤波器阶数,Wn代表滤波器的截止频率,这两个参数可使用buttord函数来确定.buttord函数可在给定滤波器性能的情况下,求出巴特沃斯滤波器的最小阶数n,同时给出对应的截止频率Wn
wa = 0:(3*Ws)/511:3*Ws;
%运算
h = freqs(b,a,wa);
%freqs()函数
freqs用于计算由矢量a和b构成的模拟滤波器H(s)=B(s)/A(s)的幅频响应.
h=freqs(b,a,w)用于计算模拟滤波器的幅频响应,其中实矢量w用于指定频率值,返回值h为一个复数行向量,要得到幅值必须对它取绝对值,即求模.
[h,w]=freqs(b,a)自动设定200个频率点来计算频率响应,这200个频率值记录在w中.
[h,w]=freqs(b,a,n)设定n个频率点计算频率响应.
不带输出变量的freqs函数,将在当前图形窗口中绘制出幅频和相频曲线,其中幅相曲线对纵坐标与横坐标均为对数分度.
plot(wa/(2*pi), 20*log10(abs(h)));grid
%画图,并打开网格
xlabel('Frequency, Hz');ylabel('Gain, dB');
%使用标签
title('Gain response');
%使用标题
axis([0 3*Fs -60 5]);
%设置图像区域