数字信号报告.docx
- 文档编号:4637268
- 上传时间:2022-12-07
- 格式:DOCX
- 页数:22
- 大小:209.82KB
数字信号报告.docx
《数字信号报告.docx》由会员分享,可在线阅读,更多相关《数字信号报告.docx(22页珍藏版)》请在冰豆网上搜索。
数字信号报告
西安邮电大学
通信与信息工程学院
数字信号处理实验报告
专业班级:
信息工程1403班
学生姓名:
赵名扬
学号(班内序号):
03144078(08)
实验日期:
2016年6月30日
摘要
随着信息技术的迅猛发展,数字信号处理已成为一个极其重要的学科和技术领域。
在通信、语音、图像、自动控制和家用电器等众多领域得到了广泛的应用。
本次实验应用matlab软件进行编程,掌握各种信号的建模方式,加深对FTT的理解,学习了重叠相加法等知识。
通过老师和同学的帮助得到实验结果。
关键词:
数字信号,matlab,学到了很多知识
英文摘要
Withtherapiddevelopmentofinformationtechnology,digitalsignalprocessinghasbecomeanextremelyimportantsubjectandtechnologyfield.Ithasbeenwidelyusedinmanyfieldssuchascommunication,voice,image,automaticcontrol,homeappliancesandsoon.TheexperimentalapplicationofMATLABsoftwareprogramming,masteravarietyofsignalmodelingmethods,todeepentheunderstandingofFTT,learningtheoverlapphaseadditionandotherknowledge.Throughthehelpofteachersandstudentstogettheresultsoftheexperiment.
Keyword:
digitalsignalmatlabLearnedalotofknowledge
引言:
《数字信号处理》是我们专业的一门重要的专业基础课程,主要任务是研究数字信号处理理论的基本概念和基本分析方法,通过建立数学模型和适当的数学分析处理,来展示这些理论和方法的实际应用。
我们学习了脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理和方法,各种信号的图形表示方法等知识。
通过本门课的学习,使我对随机数字信号处理的技术和方法有了进一步的了解,加深了对基本理论和概念的领悟程度,课程所涉及到的很多算法和思想对我个人的研究方向有很大的启发。
4.1信号的表示
4.1.1实验目的
a.了解MATLAB程序设计语言的基本特点,熟悉MATLAB软件运行环境。
b.掌握各种信号的建模方式。
c.掌握各种信号的图形表示方法。
d.掌握变量等有关概念,具备初步的将一般数学模型转化为对应的计算机模型并进行处理的能力。
4.1.2实验内容
a.实现单位采样序列δ(n)、单位阶跃序列u(n)、矩形序列RN(n),并用图形显示,写出程序及输出图形。
b..实现三角波、方波、锯齿波、Sinc函数,并用图形显示,写出程序和输出图形。
4.1.3实验结果:
4.1.3.1单位采样序列
(1)序列定义:
(2)实现程序:
x=-4:
5;
y=[zeros(1,5),1,zeros(1,5)];
stem(x,y)
4.1.3.2单位阶跃序列
(1)序列定义:
(2)实现程序:
x=-5:
5;
y=[zeros(1,5),1,ones(1,5)];
stem(x,y)
4.1.3.3矩形序列:
(1)序列定义:
(2)实现程序:
n=0:
9;
x=[1111111111];
stem(n,x,'.');
axis([-11001.5])
图四:
三角波
4.1.3.4三角波
(1)序列定义:
(2)实现程序:
t=-30:
1:
30;
y=sawtooth(t,0.5);
plot(t,y);
4.1.3.5方波
(1)实现程序:
t=0:
0.0001:
0.615
y=square(t*2*pi*30,80);
plot(t,y);
4.1.3.6锯齿波
(1)实现程序:
t=-30:
1:
30;
y=square(t);
plot(t,y);
4.1.3.7Sinc函数
(1)序列定义:
(2)实现程序:
t=-30:
30;
y=sinc(t);
4.2FFT频谱分析及应用
4.2.1实验目的
a.通过实验加深对FFT的理解。
b..熟悉应用FFT对典型信号进行频谱分析的方法。
4.2.2实验内容
被噪声污染的信号,比较难看出所包含的频率分量,如一个由50HZ和120HZ正弦信号构成的信号,受零均值随机噪声的干扰,数据采样率为1000HZ,使用FFT函数来分析其信号频率成分,要求:
①画出时域波形;②分析信号功率谱密度。
注:
在MATLAB中,可用函数rand(1,N)产生均值为0,方差为1,长度为N的高斯随机序列。
4.2.3实验结果
程序:
t=0:
0.001:
0.7;
x=sin(2*pi*50*t)+cos(2*pi*130*t);
y=x+1.5*randn(1,length(t));
subplot(3,1,1);plot(t,x);
subplot(3,1,2);plot(t,y);
%title('pressanykey,continue```');
%pause;
y=fft(y,512);
p=y.*conj(y)/512;
f=1000*(0:
255)/512;
subplot(3,1,3);plot(f,p(1:
256));
4.3信号的运算—卷积
4.3.1实验目的
a.掌握信号的线性卷积运算。
b.掌握信号的循环卷积运算。
c.掌握信号循环卷积计算线性卷积的条件。
4.3.2实验内容
a.如果信号
利用线性卷积计算,用conv函数实现如下:
y=conv(x1,x2)。
b.假设卷积下面信号
选定循环卷积的长度为N=21.确定
的哪些数值与线性卷积
结果中的数值相同。
编写程序代码并输出图形,并分析错误数据的原因,怎样才能使两者数据相同。
c.已知系统相应为输入为
画出用DFT方法实现求系统输出的系统框图,编写用DFT实现的程序代码并输出图形。
4.3.3实验结果
程序:
n1=0:
1:
13;
x1=0.9.^n1;
h=ones(1,11);
N=length(x1)+length(h)-1;
n=0:
N-1;
ny=0:
20;
y1=circonvt(x1,h,21);
y2=circonvt(x1,h,N);
x1=[x1zeros(1,N-length(x1))];
h=[hzeros(1,N-length(h))];
X1=fft(x1,N);
H=fft(h,N);
X=X1.*H;
x=ifft(X);
x=real(x);
subplot(2,2,1);stem(n,x1);title('x1(n)');axis([0,33,0,1]);
subplot(2,2,2);stem(n,h);title('h(n)');axis([0,33,0,1]);
subplot(2,2,3);stem(ny,y1,'fill');title('21点循环卷积');axis([0,33,0,16]);
holdon;subplot(2,2,4);stem(n,x);title('线性卷积');axis([0,33,0,8]);
subplot(2,2,3);stem(n,x,'r','--');axis([0,33,0,8]);
holdoff;
4.4线性卷积的快速处理方法——重叠相加法
4.4.1实验目的
a.掌握线性卷积的快速处理方法——重叠相加法的原理。
b.掌握线性卷积的快速处理方法——重叠相加法的实现方法。
c.掌握实验和分析深入了解重叠相加法。
4.4.2实验内容
编写一个实现块卷积重叠相加法的M文件函数。
该函数的输入之一应使段的长度M,或者使FFT的长度。
循环卷积应在DFT域中进行。
最终,这将会使程序最快的运行。
其中冲激响应为,
输入信号为
。
4.4.3实验结果
图一:
两函数卷积结果
程序:
functiony=fftfilt(x,h,Nfft)
H=fft(h,Nfft);
M=Nfft-length(h)+1;%----SectionLength\
%
%*************assumethatlength(x)ismultipleofM******
%
forix=1:
M:
length(x)
x_seg=x(ix:
ix+M-1);
X=fft(x_seg,Nfft);
Y=X.*H;
y.seg=ifft(Y);
y(ix:
ix+Nfft-1)=y(ix:
ix+Nfft-1)+y_seg(1:
Nfft);
end
%
%-----------checkforpurelyREALcase--------
if~any(imag(h))&~any(imag(x))
y=real(y);
end
%---------------------------------------------
(使用conv函数测试)
n1=0:
1:
19;
hn=sin(0.3*n1)+cos(0.6*n1);
n2=0:
1:
9;
xn=exp(0.4*n2);
z=conv(hn,xn);
N=length(xn)+length(hn)-1;
hn=[hnzeros(1,N-length(hn))];
R=length(xn);
M=length(hn);
y=fftfilt(xn,hn,8);
k1=1:
length(y);k=1:
N;
plot(k1,y,'b-o',k,z,'g-x')
xlabel('Timeindexn');
ylabel('Amplitude')
legend('y[n]','z[n]')
4.5线性卷积的快速处理方法——重叠保留法
4.5.1实验目的
a.掌握线性卷积的快速处理方法——重叠保留法的原理。
b.掌握线性卷积的快速处理方法——重叠保留法的实现方法。
c.掌握实验和分析深入了解重叠相加法。
4.5.2实验内容
通过conv函数来测试此函数的正确性。
考虑使用下面信号
4.5.3实验结果
程序:
xn=ones(1,17);
n1=0:
1:
100;
hn=sin(n1*pi/13);
z=conv(hn,xn);
N=length(xn)+length(hn)-1;
hn=[hnzeros(1,N-length(hn))];
R=length(xn);
M=length(hn);
y=ovrlpsav(xn,hn,10);
k1=1:
length(y);k=1:
N;
plot(k1,y,'b-o',k,z,'g-x');
title('x(n)和h(n)的循环卷积图像');
xlabel('n');ylabel('y');
function[y]=ovrlpsav(x,h,N)
Lenx=length(x);M=length(h);
ifN N=M+2; end M1=M-1;L=N-M1; h=[h,zeros(1,N-M)]; x=[zeros(1,M1),x,zeros(1,N-1)]; K=floor((Lenx+M-1)/(L)); Y=zeros(K+1,N); fork=0: k xk=x(k*L+1: k*L+N): Y(k+1,: )=circonvt(xk,h,N); end Y=Y(: M: N); y=(Y(: )); end function y=circonvt(x1,x2,N) if(length(x1)>N|length(x2)>N) error('N必须大于等于x对的长度'); end x1=[x1 zeros(1,N-length(x1))]; x2=[x2 zeros(1,N-length(x2))]; X1=fft(x1,N);X2=fft(x2,N);X=X1.*X2; y=ifft(X,N);y=real(y); end 4.6IIR数字滤波器的设计 4.6.1实验目的 a.掌握脉冲响应不变法和双线性变换法设计IIR数字滤波器的原理和方法。 b.观察双线性变换法和脉冲响应不变法设计的滤波器的频率特性,了解双线性变换法和脉冲响应不变法的特点和区别。 4.6.2实验内容 用双线性变换法设计一个Chebyshev1型数字带通滤波器,设计指标为T=1ms,Rp=1dB,Wp1=0.35π,Wp2=0.65π,Rs=60dB,Ws1=0.2πWs2=0.8π。 按实验步骤附上所设计滤波器的H(z)及相应的幅频特性曲线定性分析得到的图形,判断设计是否满足要求。 4.3.3实验结果 程序: %所设计的数字滤波器的指标 Ts=0.001;Fs=1/Ts;Rp=1;Rs=60; wp1=0.35*pi;wp2=0.60*pi; ws1=0.2*pi;ws2=0.8*pi; %频率的预畸变 Wp1=(2/Ts)*tan(wp1/2); Wp2=(2/Ts)*tan(wp2/2); Wp=[Wp1,Wp2];%模拟滤波器的通带截止频率 Ws1=(2/Ts)*tan(ws1/2); Ws2=(2/Ts)*tan(ws2/2); Ws=[Ws1,Ws2];%模拟滤波器的阻带截止频率 %模拟滤波器的带宽 BW=Wp2-Wp1; %模拟滤波器的中心频率 Omegaw0=sqrt(Wp1*Wp2); %求模拟低通滤波器的阶数与边缘频率 [N,OmegaC]=cheb1ord(Wp,Ws,Rp,Rs,'s'); %求切比雪夫模拟低通滤波器的零、极点与增益 [z0,p0,k0]=cheb1ap(N,Rp); %设计归一化的模拟原型带通滤波器 %求原型滤波器的分子系数 AnalogB=k0*real(poly(z0)); %求原型滤波器的分母系数 AnalogA=real(poly(p0)); %模拟低通到模拟带通的分子、分母系数的变换 [BandB,BandA]=lp2bp(AnalogB,AnalogA,Omegaw0,BW); %双线性变换: 模拟带通与数字带通的分子分母系数的变换? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [DigitalB,DigitalA]=bilinear(BandB,BandA,Fs); %变为二阶节级联结构? [sos,G]=tf2sos(DigitalB,DigitalA); %求数字带通滤波器的幅频、相频特性、及其群延迟? %求数字带通滤波器的幅频特性 [Hz,Wz]=freqz(DigitalB,DigitalA,1024,'whole'); %将数字带通滤波器的幅频特性转化为分贝表示? dbHz=20*log10((abs(Hz)+eps)/max(abs(Hz))); %求数字带通滤波器的相频特性? %φ=angle(Hz)? %求数字带通滤波器的群延迟特性? grd=grpdelay(DigitalB,DigitalA,Wz); %作图? subplot(2,3,1);plot(Wz/pi,abs(Hz));title('幅频响应'); xlabel(''),ylabel('幅度: |Hz|');axis([0,1,0,1.1]); set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]); grid; subplot(2,3,4);plot(Wz/pi,dbHz);title('模值(dB)'); xlabel('频率(单位: \pi)');ylabel('分贝(dB)');axis([0,1,-40,5]); set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]); set(gca,'YTickmode','manual','YTick',[-50,-30,-2,0]); set(gca,'YTickLabelMode','manual','YTickLabels',['50';'30';'2';'0']); grid; subplot(2,3,2);plot(Wz/pi,angle(Hz)/pi);title('相频响应'); xlabel('');ylabel('单位: \pi');axis([0,1,-1,1]); set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]);grid; subplot(2,3,5);title('零极点图'); ylabel('单位: \dB'); xlabel('单位: \pi'); zplane(DigitalB,DigitalA);axis([-1.1,1.1,-1.1,1.1]); subplot(2,3,3);plot(Wz/pi,grd);title('群延迟'); xlabel('频率(单位: \pi)');ylabel('样本');axis([0,1,0,8]); set(gca,'XTickMode','manual','XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi,1]);%画高刻度线 set(gca,'YTickmode','manual','YTick',[0: 0.5: 10]);grid; set(gcf,'color','w');%置图形背景色为白色 4.7FIR数字滤波器的设计 4.7.1实验目的 c.掌握用窗函数法和频率采样法设计FIR数字滤波器的原理和方法。 d.熟悉线性相位FIR滤波器的幅频特性和相频特性。 e.了解不同窗函数对滤波器性能的影响。 4.7.2实验内容 用Blackman窗设计一个数字带通滤波器,设计指标为Rp=1dB,Wp1=0.35π,Wp2=0.65πRs=60dB,Ws1=0.2π,Ws2=0.8π。 4.7.3实验结果 程序: ws1=0.2*pi;wp1=0.35*pi;wp2=0.65*pi;ws2=0.8*pi;As=60; deltaw=min((wp1-ws1),(ws2-wp1)); N=ceil(11*pi/deltaw); n=[0: 1: N-1]; wc1=(wp1+ws1)/2;wc2=(wp2+ws2)/2; hd=ideallp(wc2,N)-ideallp(wc1,N); w_blkm=(blackman(N))'; h=hd.*w_blkm; [db,mag,pha,grd,w]=freqz_m(h,[1]); delta_w=2*pi/1000; Rp=-min(db(wp1/delta_w+1: 1: wp2/delta_w)) As=-round(max(db(ws2/delta_w+1: 1: 501))) subplot(2,2,1);stem(n,hd);title('理想单位脉冲响应');ylabel('hd(n)') subplot(2,2,2);stem(n,w_blkm);title('布莱克曼窗');ylabel('w(n)') subplot(2,2,3);stem(n,h);title('实际单位脉冲响应');ylabel('h(n)') subplot(2,2,4);plot(w/pi,db);title('幅频特性');ylabel('dB') functionhd=ideallp(wc,M); %IdealLowPassfiltercomputation %-------------------------------- %[hd]=ideallp(wc,M); %hd=idealimpulseresponsebetween0toM-1 %wc=cutofffrequencyinradians %M=lengthoftheidealfilter % alpha=(M-1)/2; n=[0: 1: (M-1)]; m=n-alpha+eps;%addsmallestnumbertoavoidividedbyzero hd=sin(wc*m)./(pi*m); function[db,mag,pha,grd,w]=freqz_m(b,a); [H,w]=freqz(b,a,1000,'whole'); H=(H(1: 1: 501))';w=(w(1: 1: 501))'; mag=abs(H); db=20*log10((mag+eps)/max(mag)); pha=angle(H); grd=grpdelay(b,a,w); N=33;wc=0.55*pi;ws=0.55*pi; N1=fix((wc/2*pi/N));N2=N-2*N1-1; HK=[ones(1,N1+1),zeros(1,N2),ones(1,N1)]; theta=-pi*[0: N-1]*(N-1)/N; H=HK.*exp(j*theta); h=real(ifft(H)); [db,mag,pha,grd,w]=freqz_m(h,1); delta_w=2*pi/1000; Rp=-(min(db(ws/delta_w+1))) As=-(max(db(ws/delta_w+1: 1: 501))) subplot(2,2,1);plot([0: 2/N: (2/N)*(N-1)],HK,'*');grid; axis([0,1,-0.1,1.1]);ylabel('Hd(k)'); subplot(2,2,2);stem([0: N-1],h);title('单位脉冲响应'); axis([0N-0.10.4]);ylabel('h(n)'); subplot(2,2,3);plot(w/pi,mag); axis([0,1,-0.2,1.2]);title('幅度特性'); ylabel('H(w)');grid; subplot(2,2,4);plot(w/pi,db);title('幅度特性');grid; axis([01-6010]);xlabel('winpi');ylabel('20logH(w)') 心得体会: 《数字信号处理》是我们专业的一门重要的专业基础课程,主要任务是研究数字信号处理理论的基本概念和基本分析方法,通过建立数学模型和
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字信号 报告