滤波器的制作.docx
《滤波器的制作.docx》由会员分享,可在线阅读,更多相关《滤波器的制作.docx(29页珍藏版)》请在冰豆网上搜索。
滤波器的制作
西安邮电学院
数字信号处理专业课程设计报告书
系部名称
:
电子与信息工程系
学生姓名
:
专业名称
:
电子信息工程
班级
:
电子0501
实习时间
:
2008年5月5日至2008年5月16日
题目三用双线性法设计低通滤波器
一:
实验题目
UsingthebilineartransformationandalowpassanalogButterworthprototype,designalowpassdigitalfilteroperatingatarateof20kHzandhavingpassbandextendingto4kHzwithmaximumpassbandattenuationof0.5dB,andstopbandstartingat5kHzwithaminimumstopbandattenuationof10dB.
二:
实验目的
(1)、掌握双线形变换法的原理;
(2)、掌握巴特沃斯低通滤波器的设计;
(3)、熟悉MATLAB的运行环境。
三:
实验原理
滤波器是对输入信号起选择滤波作用的系统。
数字滤波器有很多种类,总起来可以分为两大类:
一类是经典型滤波器,另一类是所谓的现代滤波器。
如果按它的功能,可将其分为四种类型:
低通,高通,带通,带阻滤波器。
我们这里只讨论经典型滤波器,其实现流程图为:
景点型滤波器,特点是输入信号中有用频率成分和希望滤除的频率成分各占不同的频带,通过一个合适的滤波器达到滤除的目的。
由流程图可知,数字滤波器的实现有两个关键步骤:
一是从数字域到模拟域间的变换,这个变换实现了数字滤波器技术指标到模拟滤波器技术指标的转换,同样也实现了模拟滤波器系统函数到数字滤波器系统函数的转换。
二是从模拟滤波器技术指标到满足该指标的模拟滤波器的设计。
因此,具体数字滤波器系统函数H(z)可以根据以下过程逐步求得并实现:
(1)、根据实际需要确定数字滤波器的技术指标。
(2)、根据预先确定的变换,将所确定的数字滤波器的技术指标转换成模拟滤波器技术指标。
(3)、由所得模拟滤波器技术指标确定一个连续函数K(Ω),使a(Ω)=10lg[1+|K(Ω)|2]满足所确定的模拟滤波器衰减技术指标要求。
(4)、令|D(jΩ)|2=1+|K(Ω)|2;确定函数D(s)(D(s)为系统极点多项式),使得|D(s)|2s=jΩ=|D(jΩ)|2。
(5)、令Ha(s)=1/D(s).这时就得到了满足第
(2)步确定的模拟滤波器技术指标的系统函数。
(6)、由第
(2)步确定的变换将模拟滤波器系统函数Ha(s)变换成数字滤波器系统函数H(z)。
具体到本实验,按照要求使用巴特沃斯低通滤波器。
巴特沃斯低通滤波器采用巴特沃斯逼近方式,所谓逼近法就是求一个连续函数a(Ω),使它满足在通带内不超过通带最大衰减,在阻带不小于阻带最小衰减,且光滑地由通带变化到阻带。
其实质是求设计步骤中第(3)步因式K(Ω)。
巴特沃斯逼近法可以说是所讨论的逼近法中最简单且常用的一个方法。
在巴特沃斯逼近法中,对应步骤(3)中的K(Ω)有:
|K(Ω)|2=ę2Ω2n,式中正整数n称为滤波器的阶数;ę称为归一化调节参数。
它们的计算公式为:
ę=(100.1a-1)1/2,n=lg[(100.1b-1)/ę2]/2lgΩs
具体到本实验,按照要求使用双线性变换法。
双线性变换法是从模拟滤波器到数字滤波器的一种变换方法。
其特点是有直接且简单的公式,重要的是无频谱混叠效应。
利用双线性变换法,对应s面和z面的对应关系为:
利用它来设计滤波器的思路可从下图看出:
四:
实验步骤
(1)、确定数字低通滤波器的技术指标为:
fp=4kHz,ą=0.5dB;fs=5kHz,ą=10dB
(2)、转换成模拟低通滤波器的技术指标为:
Ω=2/T*tan(W/2)
(3)、巴特沃斯滤波器阶数N的确定:
N=-(lgksp/lg£sp)
(4)、运用双线性变换法将Ha(s)转换成H(z)
五:
源程序
Wp=4000*2*pi;%模拟频率
Ws=5000*2*pi;
Rp=0.5;Rs=10;
Fs=20000;Ts=1/Fs;
wp=Wp*Ts;%数字频率
ws=Ws*Ts;
wp1=2*Fs*tan(wp/2);ws1=2*Fs*tan(ws/2);
[N,Wn]=buttord(wp1,ws1,Rp,Rs,'s');%确定滤波器的阶数
[z,p,k]=buttap(N);%巴特沃兹原型滤波器
[Bap,Aap]=zp2tf(z,p,k);%传递函数模型
[b,a]=lp2lp(Bap,Aap,Wn);%模拟低通滤波器
[bz,az]=bilinear(b,a,Fs)%数字滤波器
[H,W]=freqz(bz,az);
subplot(211),plot(W/pi,abs(H));
xlabel('频率(HZ)');ylabel('幅度');
subplot(212),plot(W/pi,20*log10(abs(H)));
xlabel('频率(dB)');ylabel('幅度');
六:
程序结果及图表
1.幅频和相频特性曲线如图3-1所示。
2.在模拟频率上的幅度响应曲线如图3-2所示。
图3-1图3-2
七:
实验总结
脉冲响应不变法和双线性法的优缺点比较:
脉冲响应不变法优点:
频率坐标是线性的,即W=ΩT,如果不考虑频谱混叠现象,用这种方法设计的滤波器能很好地重现原模拟滤波器的频率特性,另一个优点是数字滤波器的脉冲响应法完全模仿模拟滤波器的单位冲击响应,时域特性逼近好。
脉冲响应不变法缺点:
由于模拟低通最高截止频率超过了折叠频率Π/T,在数字化后产生频率混叠,再通过标准映射关系Z=e^(st),结果在W=Π附近形成频谱混叠现象。
只适合于低通和带通滤波器的设计,不适合于高通和带阻滤波器的设计。
双线性法设计优点:
为了克服脉冲响应法所带来的频谱混叠现象,采用非线性频率压缩方法,将整个频率轴上的频率范围压缩到±Π/T之间,再用Z=e^(st)转换到Z平面上,用正切变换实现频率变换Ω=2*tan(WT/2)/T,T为采用间隔。
它的最大优点是不会产生频谱混叠现象,适合于片断常数特性的设计,一般设计滤波器通带和阻带均要求是片段常数,因此双线性法得到了广泛的应用。
双线性法设计缺点:
由于W与Ω之间的非线性关系,直接影响数字滤波器的频响逼真的模拟滤波器的频响,幅度特性和相频特性产生失真。
如果Ω的刻度是均匀的,则映射到的z平面上的w的刻度不是均匀的,而是随着w的增加越来越密。
一:
实验题目:
题目七:
该题目的目的是说明一个PN扩频信号在抑制正弦干扰中的有效性。
先考虑下图所示的二进制通信系统,对信号发生器的输出乘上一个二进制
(+/-1)PN序列。
同一个二进制PN序列用来与解调器输入相乘,因此消除了这个PN序列在期望信号上的影响。
信道将传送信号受到一宽带加性噪声序列w(n)和一正弦
干扰序列i(n)=Asinw0n,0可以假定A>=M下,对不同的M值(如M=50,100,500,1000)测量差错率。
画出每种情况的差错率曲线,作比较并说明结论。
说明
这个PN序列对于正弦干扰信号的效果。
由此说明为什么PN扩频系统在正弦干扰信号存在下优于常规的二进制通信系统。
二:
实验目的
通过分情况比较差错率和信噪比得出PN序列在二进制通信系统中的作用。
三:
实验原理
对信号发生器的输出乘上一个二进制(
1)PN序列。
同一个二进制PN序列用来与解调器输入相乘,因此消除了这个PN序列在期望信号上的影响。
通过不同的M值测量差错率,画出每种情况的差错率曲线,作比较说明这个PN序列对于正弦干扰信号的效果。
四:
实验步骤简述
首先,我们先给出一系列的子程序,如二进制生成序列,PN序列,正弦信号序列和噪生序列,以供之后程序中的调用。
根据题目的要求我们将程序分为两部分,一个是加了PN序列而一个没有,从而当输出图象时我们可以清晰的看到它们之间的差别。
(1)加了PN序列
我们使二进制序列与PN序列相乘,加上正弦信号,再与噪声相加。
在再次经过PN序列之前,设置一个门限滤除多余的噪声。
通过与之前的二进制数据做比较,记录下错误的数的数量,由此我们可以得到差错率。
再通过计算信号与噪声的功率,我们可以得到信噪比。
(2)没加PN序列
使二进制序列加上正弦信号,再与噪声相加。
设置门限滤除多余的噪声。
通过与之前的二进制数据做比较,记录下错误的数的数量,由此我们可以得到差错率。
再通过计算信号与噪声的功率,我们可以得到信噪比。
最后,画出两种情况分别的信噪比与差错率的曲线。
五:
程序框图
N=1:
N=2;
N=3;
N=4;
五:
程序框图
function[]=ti7()
w0=0.2*pi;
n=4;
while
(1)
N=input('请选择样本数M:
\n1----M=50\n2----M=100\n3----M=500\n4----M=1000\n0----quit\n');
ifN==1
M=50;%原始信号的长度
A=60;%正弦信号的幅度
Z=50;%原始信号的幅度因子
B=20;%噪声幅度
p(n,A,M,Z,B,w0);
elseifN==2
M=100;
A=110;
Z=100;
B=40;
p(n,A,M,Z,B,w0);
elseifN==3
M=500;
A=550;
Z=500;
B=80;
p(n,A,M,Z,B,w0);
elseifN==4
M=1000;
A=1100;
Z=1000;
B=130;
p(n,A,M,Z,B,w0);
elseifN==0
break;
end
end
function[]=p(n,A,M,Z,B,w0)
s=randout(M);
r=pn(n,M);
fork=1:
19%循环增加Z(信号的幅度)
Z=Z+B;%使调制后的序列幅度Z大于噪声幅度B
g=xor(s,r)*Z;%调制(逻辑异或)差分调制
q=sinout(A,w0,M);
x=g+q;%调制后序列加正弦信号
re=B*wout(M);%生成噪声信号
x1=re+x;%加入噪声
r2=x1>Z/3;%设置一个门限,滤除噪声
r3=xor(r2,r);%解调
i=1:
M;
r4=s(i)~=r3(i);%检测(当不等时取1且计入r4当相等时取0不计入r4)
r5=length(find(r4));%计算错误的个数(计算r4中元素取1的个数)
cc(k)=r5/M;%错误的概率
i=1:
M;
me=0;
me=me+g(i).^2;%计算信号的总能量
mp=me/M;%计算信号的平均功率
j=1:
M;
se=0;
se=se+q(j).^2+re(j).^2;%计算噪声的总能量
sp=se/M;%计算噪声的平均功率
sn(k)=mp/sp;%计算信噪比
%不加PN序列
h=s*Z;%原始信号乘幅度因子
x2=h+re+q;%信号序列加正弦信号和噪声信号(不与PN序列调制)
r6=x2>Z/3;%设置一个门限,滤除噪声
i=1:
M;
r7=s(i)~=r6(i);%检测(当不等时取1且计入r7当相等时取0不计入r7)
r8=length(find(r7));%计算错误的个数(计算r7中元素取1的个数)
cd(k)=r8/M;%错误的概率
i=1:
M;
ma=0;
ma=ma+h(i).^2;%计算信号的总能量
md=ma/M;%计算信号的平均功率
j=1:
M;
sa=0;
sa=sa+q(j).^2+re(j).^2;%计算噪声的总能量
st=sa/M;%计算噪声的平均功率
sd(k)=md/st;%计算信噪比
end
%画信噪比与差错率曲线
figure;
stem(sn,cc,'.b');%输出有PN序列的图
holdon;
stem(sd,cd,'.r');%输出没有PN序列的图
xlabel('信噪比');
ylabel('差错率');
title('信噪比与差错率曲线');
grid%打开网络线
%二进制数据的产生
function[s]=randout(M)
n=0:
M;
s=rand(1,M);%1*M的0--1的均匀分布的随机数矩阵
j=1:
M;
s(j)=s(j)>0.5;%使每个元素的值大于0.5
%PN序列的产生
function[p_s]=pn(n,M)
a=zeros(1,n);%1*n的零矩阵
a(n)=1;%令第n列数为1
fori=1:
1000
y(i)=a(n);
temp=mod(a(n-1)+a(n),2);%除法求余(与除数同号)
forj=n:
-1:
2
a(j)=a(j-1);%改变a(n)序列
end
a
(1)=temp;%改变a(n)序列
end
p_s=y(1:
M);%取a(n)序列的最后一位元素生成pn序列
%正弦信号的产生
function[in]=sinout(A,w0,M)
j=1:
M;
in=A*sin(w0*j);
%随机噪声的产生
function[w]=wout(M)
w=rand(1,M);%1*M的0--1的均匀分布的随机数矩阵
八实验总结
通过这个实验,我们可以得知,有加PN序列的系统最后得到的差错率比没有加PN序列系统的差错率小,且同一系统的信噪比越大其对应的差错率了越大,
题目十
一:
实验题目:
信号、系统及系统响应
二:
实验目的:
⑴熟悉连续信号经理想采样前后的频谱变换关系,加深对时域采样定理的理解。
⑵熟悉时域离散系统的时域特性。
⑶利用卷积方法观察分析系统的时域特性。
⑷掌握序列傅里叶变换的计算机实现方法,利用序列的傅里叶变换对连续信号、离散信号及系统响应进行频域分析。
三:
实验原理:
采样是连续信号数字处理的第一个关键环节。
对采样过程的研究不仅可以了解采样前后信号时域和频域特性发生的变化以及信号信息不丢失的条件,而且可以加深对傅立叶变换Z变换和序列傅立叶之间关系式的理解。
离散信号和系统的时域均可用序列来表示。
四:
实验步骤简述:
⒈分析采样序列的特性
⒉时域离散信号、系统和系统响应分析
⒊卷积定理的验证
五:
源程序:
s=input('请选择实验步骤:
\n1(1时域采样序列分析),2(2系统和系统响应分析),3(3卷积定理的验证),0(退出):
\n');
closeall;
Xb=impseq(0,0,1);
Ha=stepseq(1,1,10);
Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.5*impseq(2,0,3)+impseq(3,0,3);
i=0;
while(s);
if(s==1)
l=1;
while(l)
A=input('请输入振幅:
\n[100,1000]');
a=input('请输入衰减:
\n[100,600]');
w=input('请输入角频率(rad/s):
\n[100,600]');
fs=input('请输入采样频率:
\n[100,1200]');
Xa=FF(A,a,w,fs);
i=i+1;
string=['fs=',num2str(fs)];
figure(i)
DFT(Xa,50,string);
l=input('是否继续实验:
1(继续实验1),0(进行其他实验内容):
\n');
end
elseif(s==2)
kk=input('系统和系统响应分析,请选择时域信号的类型:
1(内容2a),2(内容2b),3(2b中xc(n)的长度改为5),0(退出):
\n');
while(kk)
if(kk==1)
m=conv(Xb,Hb);
N=5;
i=i+1;
figure(i)
string=('hb(n)');
Hs=DFT(Hb,4,string);
i=i+1;
figure(i)
string=('xb(n)');
DFT(Xb,2,string);
string=('y(n)=xb(n)*hb(n)');
elseif(kk==2)
m=conv(Ha,Ha);
N=19;
string=('y(n)=ha(n)*ha(n)');
elseif(kk==3)
Xc=stepseq(1,1,5);
m=conv(Xc,Ha);
N=14;
string=('y(n)=xc(n)*ha(n)');
end
end
end
i=i+1;
figure(i)
DFT(m,N,string);
kk=input('请再选择信号类型:
1,2,3,0(进行其他实验内容):
\n');
end
elseif(s==3)
A=1;a=0.5;w=2.0734;fs=1;
Xa1=FF(A,a,w,fs);
i=i+1;
figure(i)
string=('Thexa1(n)(A=1,a=0.4,T=1)');
[Xs,w]=DFT(Xa1,50,string);
i=i+1;
figure(i)
string=('hb(n)');
Hs=DFT(Hb,4,string);
Ys=Xs.*Hs;
y=conv(Xa1,Hb);
N=53;
i=i+1;
figure(i)
string=('y(n)=xa(n)*hb(n)');
[yy,w]=DFT(y,N,string);
i=i+1;
figure(i)
subplot(2,2,1)
plot(w/pi,abs(yy));
axis([-2202]);
xlabel('w/pi');
ylabel('|Y(jw)|');
title('FT[x(n)*h(n)]');
subplot(2,2,3);
plot(w/pi,abs(yy));
axis([-2202]);
xlabel('w/pi');
ylabel('|Ys(jw)|');
title('FT[xs(n)].FT[h(n)]');
end
end
end
s=input('请选择实验步骤:
\n1(1时域采样序列分析),2(2系统和系统响应分析),3(3卷积定理的验证),0(退出):
\n');
end
相应子程序function[c,l]=DFT(x,N,str)
n=0:
N-1;
k=-200:
200;
w=(pi/100)*k;
l=w;
c=x*(exp(-j*pi/100)).^(n'*k);
magX=abs(c);
angX=angle(c);
subplot(2,2,1);
t=max(x);
n=0:
N-1;
stem(n,x,'');
xlabel('n');
ylabel('xa(n)');
title('信号的原形');
text((0.3*N),(0.8*t),str);
holdon
n=0:
N-1;
m=zeros(N);
plot(n,m);
subplot(2,2,3);
plot(w/pi,magX);
xlabel('w/pi');
ylabel('|Y(jw)|');
title('上图的信号傅氏变换(|jw|)');
functionc=FF(A,a,w,fs)
n=0:
50-1;
c=A*exp((-a)*n/fs).*sin(w*n/fs).*stepseq(0,0,49);
function[x,n]=impseq(n0,n1,n2)
n=[n1:
n2];
x=[(n-n0)==0];
function[x,n]=stepseq(n0,n1,n2)
n=[n1:
n2];
x=[(n-n0>=0)];
六程序结果及图表:
:
系统和系统响应分析实验图形如下
七实验总结:
在分析理想采样序列特性的实验中,采样频率不同时,相应理想采样序列的傅立叶变换频谱的数字频率度量都相同,模拟频率也相同,因为只有采用定性的方法才能比较出来采样频率大于角频率的2倍时可以出现混叠。
在卷积定理验证的实验中,如果选用不同的频域采样点数M值求得结果是有差异的
西安邮电学院电信系专业课程设计过程考表
学生姓名
曹亮
班级/学号
电子0501/18
承担任务实验室(单位)
电子信息工程
所在部门
电信系
实施时间
2008年5月5日—2008年5月16日
具体内容
第一周
集中讲解课程设计的目的及要求;介绍数字信号处理课程设计的一般方法和步骤;布置课程设计题目;学生查阅相关资料。
(1-6)设计题目一;(7-12)设计题目二;(3-18)设计题目三;(9-24)设计题目四;(5-30)设计题目六;(30-32)设计题目七。
第二周
(1-6)设计题目十二;(7-12)设计题目十一;(13-18)设计题目十;(19-24)设计题目五;(25-30)设计题目九;(30-32)设计题目八。
完成设计报告,开始验收。
召开课程设计总结交流会。
总结交流学生在课程设计中具有特色的算法设计思想和调试程序方法。
指导教师(师傅)姓名
毛智礼
职务或职称
讲师
指导教师(师傅)
对学生的评价
学习态度
□认真□一般□不认真
学习纪律
□全勤□偶尔缺勤□经常缺勤
实践能力
□很强□一般□较差
指导教师(师傅)对学生专业知识或社会实践能力等情况的意见
指导教师(师傅)签字
年月日
西安邮电学院电信系专业课程设计成绩鉴定表
学生姓名
曹亮
班级/学号
电子0501/18
进行时间
2008年5月5日—2008年5月16日
成绩鉴定
实习内容(20分)
与计划任务或毕业设计结合程度(10分)
与专业结合程度(6分)
其它(4分)
实习单位评价
(20分)
实践能力(10分)
实习态度(6分)
实习纪律(4分)
成果鉴定
(60分)
成果内容与实习单位业务紧密结合(10分)
成果内容与实际应用紧密结合(10分)
成果内容与毕业设计紧密结合(10分)
报告质量(结构、规范、逻辑、图表、中英文献资料、字数等30分)
评阅教师姓名
毛智礼
职称
讲师
实习成绩
评语
评阅教师签字
年月日