文档库 最新最全的文档下载
当前位置:文档库 › 数字信号实验二

数字信号实验二

数字信号实验二
数字信号实验二

%ep264.m: 例2.6.4求解程序如图1

B=[1,0,0,0,0,0,0,0,-1];A=1;

subplot(2,2,1);zplane(B,A);

[H,w]=freqz(B,A);

subplot(2,2,2);plot(w/pi,abs(H));

xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');

subplot(2,2,3);plot(w/pi,angle(H));

xlabel('\omega/\pi');ylabel('phi(\omega)');

图1

>> %ep267.m: 例2.6.7绘制程序如图2

a=0.2; B=[1,0,0,0,0,0,0,0,-1];A=[1,0,0,0,0,0,0,0,-a];

subplot(2,2,1);zplane(B,A);title('(a)零极点分布(a=0.2,N=8)')

[Hk,w]=freqz(B,A,1024);

subplot(2,2,2);plot(w/pi,abs(Hk)/max(abs(Hk)));

xlabel('\omega/\pi');axis([0,1,0,1.5]);title('(b)幅频特性(a=0.2,N=8)');

图2

%例3.1.2程序ep312.m 如图3

xn=[1,1,1,1];

Xk16=fft(xn,16);

Xk32=fft(xn,32);

M=16;N=32;

k=0:M-1;

wk=2*k/M;

subplot(3,2,1);stem(wk,abs(Xk16),'.')

title('(a)Xn的16点DFF的幅频特性');xlabel('\omega/\pi');ylabel('幅度') subplot(3,2,2);stem(wk,angle(Xk16),'.')

title('(b)16点DFF的相频特性');xlabel('\omega/\pi');ylabel('相位')

axis([0,2,-3,3]);

k=0:N-1;

wk=2*k/N;

subplot(3,2,3);stem(wk,abs(Xk32),'.')

title('(c)Xn的32点DFF的幅频特性');xlabel('\omega/\pi');ylabel('幅度') subplot(3,2,4);stem(wk,angle(Xk32),'.')

title('(d)32点DFF的相频特性');xlabel('\omega/\pi');ylabel('相位')

axis([0,2,-3,3]);

图3

%例3.3.1 ep331.m 如图4

M=26,N=32,n=0:M;

xa=0:M/2;xb=ceil(M/2)-1:-1:0;xn=[xa,xb];

B=[xa,xb];A=1;

[H,w]=freqz(B,A);

subplot(3,2,1);plot(w/pi,abs(H));

xlabel('\omega/\pi');ylabel('|X(e^j^\omega)|');

n=0:length(xn)-1;

subplot(3,2,2);stem(n,xn,'.');

xlabel('n');ylabel('x(n)');

X32k=fft(xn,32);

x32n=ifft(X32k);

X16k=X32k(1:2:N);

x16n=ifft(X16k,N/2);

M=16;N=32;

k=0:M-1;

subplot(3,2,3);stem(k,abs(X16k),'.');

xlabel('16点频域采样');ylabel('|X16(e^j^\omega)|') ;

subplot(3,2,4);stem(k,abs(x16n),'.');

xlabel('16点IDFT');ylabel('x16(n)') ;

k=0:N-1;

subplot(3,2,5);stem(k,abs(X32k),'.')

xlabel('32点频域采样');ylabel('|X32(e^j^\omega)|') ;

subplot(3,2,6);stem(k,abs(x32n),'.');

xlabel('32点IDFT');ylabel('x32(n)') ;

图4

%例3.4.1 如图5

Lx=41;N=5;M=10;

hn=ones(1,N);hn1=[hn zeros(1,Lx-N)];

n=0:length(hn1)-1;

subplot(3,2,1);stem(n,hn1,'.');

xlabel('n');ylabel('h(n)');

n=0:Lx-1;

xn=cos(pi*n/10)+cos(2*pi*n/5);

subplot(3,2,3);stem(n,xn,'.');

xlabel('n');ylabel('x(n)');

yn=fftfilt(hn,xn,M); 图5 n=0:length(yn)-1;

subplot(3,2,5);stem(n,yn,'.');

xlabel('n');ylabel('y(n)');

实验二时域采样与频域采样

(1)时域采样理论的验证程序内容如下:(图形如图6)

A=444.128;a=50*1.414*pi;

n1=0:64;n2=0:20;n3=0:13;

x1n=A*exp(-a*n1*0.001);

x2n=sin(a*n1*0.001);

xn1=x1n.*x2n;

x3n=A*exp(-a*n2*1/300);

x4n=sin(a*n2*1/300);

xn2=x3n.*x4n;

x5n=A*exp(-a*n3*1/200);

x6n=sin(a*n3*1/200);

xn3=x5n.*x6n;

Xn1=fft(xn1,64);

Xn2=fft(xn2,64);

Xn3=fft(xn3,64);

M=64;k=0:M-1;wk=2*k/M;

subplot(3,2,1);stem(wk,abs(Xn1),'.');

title('(a)Xn1的64点DFF的幅频特性');xlabel('\omega/\pi');ylabel('幅度') ; subplot(3,2,2);stem(wk,abs(Xn2),'.');

title('(b)Xn2的64点DFF的幅频特性');xlabel('\omega/\pi');ylabel('幅度') ; subplot(3,2,3);stem(wk,abs(Xn3),'.');

title('(c)Xn3的64点DFF的幅频特性');xlabel('\omega/\pi');ylabel('幅度') ;

图6

(2)频域采样定理的验证程序内容如下:(图形如图7)

n=0:13;

X1n=n+1;

X2n=[X1n,zeros(1,12)];

n=14:26;

X3n=27-n;

X4n=[zeros(1,13),X3n];

Xn=X2n+X4n;

Xk32=fft(Xn,32);

Xk16=fft(Xn,16);

M=32;N=16;

k=0:M-1;

wk=2*k/M;

subplot(3,2,1);stem(wk,abs(Xk32),'.')

title('(a)Xn的32点DFF的幅频特性');xlabel('w/pi');ylabel('幅度') subplot(3,2,2);stem(wk,angle(Xk32),'.')

title('(b)32点DFF的相频特性');xlabel('w/pi');ylabel('相位')

axis([0,2,-3,3]);

k=0:N-1;

wk=2*k/N;

subplot(3,2,3);stem(wk,abs(Xk16),'.')

title('(a)Xn的16点DFF的幅频特性');xlabel('w/pi');ylabel('幅度') subplot(3,2,4);stem(wk,angle(Xk16),'.')

title('(b)16点DFF的相频特性');xlabel('w/pi');ylabel('相位')

axis([0,2,-3,3]);

Xk1024=abs(fft(Xn,1024));

L=0:1023;

subplot(3,2,5);plot(L/1023,abs(Xk1024));

xlabel('\omega/\pi');ylabel('|H(e^j^\omega)|');

图7

数字信号处理实验一

一、实验目的 1. 通过本次实验回忆并熟悉MATLAB这个软件。 2. 通过本次实验学会如何利用MATLAB进行序列的简单运算。 3. 通过本次实验深刻理解理论课上的数字信号处理的一个常见方法——对时刻n的样本附近的一些样本求平均,产生所需的输出信号。 3. 通过振幅调制信号的产生来理解载波信号与调制信号之间的关系。 二、实验内容 1. 编写程序在MATLAB中实现从被加性噪声污染的信号中移除噪声的算法,本次试验采用三点滑动平均算法,可直接输入程序P1.5。 2. 通过运行程序得出的结果回答习题Q1.31-Q1.33的问题,加深对算法思想的理解。 3. 编写程序在MATLAB中实现振幅调制信号产生的算法,可直接输入程序P1.6。 4. 通过运行程序得出的结果回答习题Q1.34-Q1.35的问题,加深对算法思想的理解。 三、主要算法与程序 1. 三点滑动平均算法的核心程序: %程序P1.5 %通过平均的信号平滑 clf; R=51; d=0.8*(rand(R,1)-0.5);%产生随噪声 m=0:R-1; s=2*m.*(0.9.^m);%产生为污染的信号 x=s+d';%产生被噪音污染的信号 subplot(2,1,1); plot(m,d','r-',m,s,'g--',m,x,'b-.');

xlabel('时间序号n');ylabel('振幅'); legend('d[n]','s[n]','x[n]'); x1=[0 0 x];x2=[0 x 0];x3=[x 0 0]; y=(x1+x2+x3)/3; subplot(2,1,2); plot(m,y(2:R+1),'r-',m,s,'g--'); legend('y[n]','s[n]'); xlabel('时间序号n');ylabel('振幅'); 2. 振幅调制信号的产生核心程序:(由于要几个结果,因此利用subplot函数画图) %程序P1.6 %振幅调制信号的产生 n=0:100; m=0.1;fH=0.1;fL=0.01; m1=0.3;fH1=0.3;fL1=0.03; xH=sin(2*pi*fH*n); xL=sin(2*pi*fL*n); y=(1+m*xL).*xH; xH1=sin(2*pi*fH1*n); xL1=sin(2*pi*fL1*n); y1=(1+m1*xL).*xH; y2=(1+m*xL).*xH1; y3=(1+m*xL1).*xH; subplot(2,2,1); stem(n,y); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.1;fH=0.1;fL=0.01;'); subplot(2,2,2); stem(n,y1); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.1;fL=0.01;'); subplot(2,2,3); stem(n,y2); grid; xlabel('时间序号n');ylabel('振幅');title('m=0.3;fH=0.3;fL=0.01;'); subplot(2,2,4); stem(n,y3); grid;

数字信号处理实验一

实验一 离散时间信号分析 班级 信息131班 学号 201312030103 姓名 陈娇 日期 一、实验目的 掌握两个序列的相加、相乘、移位、反褶、卷积等基本运算。 二、实验原理 1.序列的基本概念 离散时间信号在数学上可用时间序列)}({n x 来表示,其中)(n x 代表序列的第n 个数字,n 代表时间的序列,n 的取值范围为+∞<<∞-n 的整数,n 取其它值)(n x 没有意义。离散时间信号可以是由模拟信号通过采样得到,例如对模拟信号)(t x a 进行等间隔采样,采样间隔为T ,得到)}({nT x a 一个有序的数字序列就是离散时间信号,简称序列。 2.常用序列 常用序列有:单位脉冲序列(单位抽样)) (n δ、单位阶跃序列)(n u 、矩形序列)(n R N 、实指数序列、复指数序列、正弦型序列等。 3.序列的基本运算 序列的运算包括移位、反褶、和、积、标乘、累加、差分运算等。 4.序列的卷积运算 ∑∞ -∞==-= m n h n x m n h m x n y )(*)()()()( 上式的运算关系称为卷积运算,式中代表两个序列卷积运算。两个序列的卷积是一个序列与另一个序列反褶后逐次移位乘积之和,故称为离散卷积,也称两序列的线性卷积。其计算的过程包括以下4个步骤。 (1)反褶:先将)(n x 和)(n h 的变量n 换成m ,变成)(m x 和)(m h ,再将)(m h 以纵轴为对称轴反褶成)(m h -。

(2)移位:将)(m h -移位n ,得)(m n h -。当n 为正数时,右移n 位;当n 为负数时,左移n 位。 (3)相乘:将)(m n h -和)(m x 的对应点值相乘。 (4)求和:将以上所有对应点的乘积累加起来,即得)(n y 。 三、主要实验仪器及材料 微型计算机、Matlab6.5 教学版、TC 编程环境。 四、实验内容 (1)用Matlab 或C 语言编制两个序列的相加、相乘、移位、反褶、卷积等的程序; (2)画出两个序列运算以后的图形; (3)对结果进行分析; (4)完成实验报告。 五、实验结果 六、实验总结

数字信号处理实验1,2,3,4

实验一 连续时间系统的时域和频域分析相关MATLAB 函数1.设描述连续时间系统的微分方程为:)()()()()()()()(01)1(1)(01)1(1)(t f b t f b t f b t f b t y a t y a t y a t y a m m m m n n n n +'+++=+'+++---- 则可用向量和表示该系统,即 a b ] ,,,,[011a a a a a n n -=],,,,[011b b b b b m m -=注意,向量和的元素一定要以微分方程时间求导的降幂次序排列,且缺项要用0补齐。a b 如微分方程)()()(2)(3)(t f t f t y t y t y +''=+'+''表示该系统的向量为 ]2 3 1[=a ]1 0 1[=b (1)求解冲激响应:impulse()函数impulse()函数有以下四种调用格式: ① impulse(b,a) 该调用格式以默认方式绘制由向量和定义的连续时间系统的冲激响应的时域波形。a b ② impulse(b,a,t)该调用格式绘制由向量和定义的连续时间系统在时间范围内的冲激响应的时a b t ~0域波形。③ impulse(b,a, t1:p:t2)该调用格式绘制由向量和定义的连续时间系统在时间范围内,且以时间间a b 21~t t 隔均匀抽样的冲激响应的时域波形。p ④ y=impulse(b,a,t1:p:t2)该调用格式并不绘制系统冲激响应的波形,而是求出由向量和定义的连续时间系a b 统在时间范围内以时间间隔均匀抽样的系统冲激响应的数值解。21~t t p (2)求解阶跃响应:step()函数 step()函数也有四种调用格式:① step(b,a) ② step(b,a,t) ③ step(b,a, t1:p:t2) ④ y=step(b,a,t1:p:t2) 上述调用格式的功能与impulse()函数完全相同。

数字信号处理实验

实验一 离散傅里叶变换(DFT )对确定信号进行谱分析 一.实验目的 1.加深对DFT 算法原理和基本性质的理解。 2.熟悉DFT 算法和原理的编程方法。 3.学习用DFT 对信号进行谱分析的方法,了解可能出现的误差及其原因,以便在实际中正确利用。 二.实验原理 一个连续信号)(t x a 的频谱可以用其傅里叶变换表示,即 dt e t x j X t j a a Ω-∞ ∞ -? = Ω)()( 若对)(t x a 进行理想采样可得采样序列 )(|)()(nT x t x n x a nT t a === 对)(n x 进行DTFT ,可得其频谱为: ∑∞ -∞ =-= n n j j e n x e X ωω )()( 其中数字频率ω与模拟频率Ω的关系为: s f T Ω = Ω=ω )(n x 的DFT 为∑∞ -∞ =-= n nk N j e n x k X π 2)()( 若)(t x a 是限带信号,且在满足采样定理的条件下,)(ω j e X 是)(Ωj X a 的周期延拓, )(k X 是)(ωj e X 在单位圆上的等间隔采样值,即k N j e X k X πωω2| )()(= =。 为在计算机上分析计算方便,常用)(k X 来近似)(ω j e X ,这样对于长度为N 的有限 长序列(无限长序列也可用有限长序列来逼近),便可通过DFT 求其离散频谱。 三.实验内容 1.用DFT 对下列序列进行谱分析。 (1))()04.0sin(3)(100n R n n x π=

1 (2)]0,0,0,0,0,0,0,0,1,1,1,1[)(=n x 2.为了说明高密度频谱和高分辨率频谱之间的区别,考察序列 )52.0cos()48.0cos()(n n n x ππ+= (1)当0≤n ≤10时,确定并画出x(n)的离散傅里叶变换。 (2)当0≤n ≤100时,确定并画出x(n)的离散傅里叶变换。 四.实验结果 1. (1) (2)

数字信号处理实验二

实验报告(本科) 学号 2015141443002 姓名柏冲 专业通信工程 日期 2017/12/4 实验题目时域采样和频域采样 一、实验目的

时域采样理论与频域采样理论是数字信号处理中重要的理论。要求掌握模拟信号采样前后频谱的变化,以及如何选择采样频率才能使得采样后的信号不丢失信息;要求掌握频率采样会引起时域周期化的概念,以及频域采样定理及其对频域采样点数选择的指导作用。 二、实验过程 附:源程序 (1)时域采样 Tp=64/1000; %观察时间Tp=64毫秒 %产生M长采样序列x(n) Fs=1000; T=1/Fs; M=Tp*Fs; n=0:M-1; A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5; xnt=A*exp(-a*n*T).*sin(omega*n*T); Xk=T*fft(xnt,M); %M点FFT[(xnt)] subplot(3,2,1); stem(xnt,'.'); %调用编绘图函数stem绘制序列图 box on;title('(a) Fs=1000Hz'); k=0:M-1;fk=k/Tp; subplot(3,2,2);stem(fk,abs(Xk),'.');title('(a) T*FT[xa(nT)],Fs=1000Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]); % Fs=300Hz和 Fs=200Hz的程序与上面Fs=1000Hz完全相同。 Tp=64/1000; %观察时间Tp=64毫秒 %产生M长采样序列x(n) Fs=300; T=1/Fs; M=Tp*Fs; n=0:M-1; A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5; xnt=A*exp(-a*n*T).*sin(omega*n*T); M1=fix(M); Xk=T*fft(xnt,M1); %M点FFT[(xnt)] subplot(3,2,3); stem(xnt,'.'); %调用自编绘图函数stem绘制序列图 box on;title('(b) Fs=300Hz'); k=0:M-1;fk=k/Tp; subplot(3,2,4);stem(fk,abs(Xk),'.');title('(b) T*FT[xa(nT)],Fs=300Hz'); xlabel('f(Hz)');ylabel('幅度');axis([0,Fs,0,1.2*max(abs(Xk))]); Tp=64/1000; %观察时间Tp=64毫秒 %产生M长采样序列x(n) Fs=200; T=1/Fs; M=Tp*Fs; n=0:M-1; A=444.128; a=pi*50*2^0.5; omega=pi*50*2^0.5; xnt=A*exp(-a*n*T).*sin(omega*n*T); M2=fix(M);

数字信号处理实验答案完整版

数字信号处理实验答案 HEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】

实验一熟悉Matlab环境 一、实验目的 1.熟悉MATLAB的主要操作命令。 2.学会简单的矩阵输入和数据读写。 3.掌握简单的绘图命令。 4.用MATLAB编程并学会创建函数。 5.观察离散系统的频率响应。 二、实验内容 认真阅读本章附录,在MATLAB环境下重新做一遍附录中的例子,体会各条命令的含义。在熟悉了MATLAB基本命令的基础上,完成以下实验。 上机实验内容: (1)数组的加、减、乘、除和乘方运算。输入A=[1 2 3 4],B=[3 4 5 6],求C=A+B,D=A-B,E=A.*B,F=A./B,G=A.^B并用stem语句画出A、B、C、D、E、F、G。 clear all; a=[1 2 3 4]; b=[3 4 5 6]; c=a+b; d=a-b; e=a.*b; f=a./b; g=a.^b; n=1:4; subplot(4,2,1);stem(n,a); xlabel('n');xlim([0 5]);ylabel('A'); subplot(4,2,2);stem(n,b); xlabel('n');xlim([0 5]);ylabel('B'); subplot(4,2,3);stem(n,c); xlabel('n');xlim([0 5]);ylabel('C'); subplot(4,2,4);stem(n,d); xlabel('n');xlim([0 5]);ylabel('D'); subplot(4,2,5);stem(n,e); xlabel('n');xlim([0 5]);ylabel('E'); subplot(4,2,6);stem(n,f); xlabel('n');xlim([0 5]);ylabel('F'); subplot(4,2,7);stem(n,g); xlabel('n');xlim([0 5]);ylabel('G'); (2)用MATLAB实现下列序列: a) x(n)= 0≤n≤15 b) x(n)=e+3j)n 0≤n≤15 c) x(n)=3cosπn+π)+2sinπn+π) 0≤n≤15 d) 将c)中的x(n)扩展为以16为周期的函数x(n)=x(n+16),绘出四个周期。

数字信号处理实验报告(实验1_4)

实验一 MATLAB 仿真软件的基本操作命令和使用方法 实验容 1、帮助命令 使用 help 命令,查找 sqrt (开方)函数的使用方法; 2、MATLAB 命令窗口 (1)在MATLAB 命令窗口直接输入命令行计算3 1)5.0sin(21+=πy 的值; (2)求多项式 p(x) = x3 + 2x+ 4的根; 3、矩阵运算 (1)矩阵的乘法 已知 A=[1 2;3 4], B=[5 5;7 8],求 A^2*B

(2)矩阵的行列式 已知A=[1 2 3;4 5 6;7 8 9],求A (3)矩阵的转置及共轭转置 已知A=[1 2 3;4 5 6;7 8 9],求A' 已知B=[5+i,2-i,1;6*i,4,9-i], 求B.' , B' (4)特征值、特征向量、特征多项式 已知A=[1.2 3 5 0.9;5 1.7 5 6;3 9 0 1;1 2 3 4] ,求矩阵A的特征值、特征向量、特征多项式;

(5)使用冒号选出指定元素 已知:A=[1 2 3;4 5 6;7 8 9];求A 中第3 列前2 个元素;A 中所有列第2,3 行的元素; 4、Matlab 基本编程方法 (1)编写命令文件:计算1+2+…+n<2000 时的最大n 值;

(2)编写函数文件:分别用for 和while 循环结构编写程序,求 2 的0 到15 次幂的和。

5、MATLAB基本绘图命令 (1)绘制余弦曲线 y=cos(t),t∈[0,2π]

(2)在同一坐标系中绘制余弦曲线 y=cos(t-0.25)和正弦曲线 y=sin(t-0.5), t∈[0,2π] (3)绘制[0,4π]区间上的 x1=10sint 曲线,并要求: (a)线形为点划线、颜色为红色、数据点标记为加号; (b)坐标轴控制:显示围、刻度线、比例、网络线 (c)标注控制:坐标轴名称、标题、相应文本; >> clear;

数字信号实验报告

北京科技大学 《信号系统与信号处理综合实验》实验 报告 学号:__________ 姓名:_____________________ 专业:____________ 年月日

目录: 1实验一CCS使用实验 2实验二、SEED-DTK6446 Linux开发环境搭建3实验三、Linux平台实验 4二、音频采集回放实验 5三、视频采集回放实验 6OSD图像叠加实验 7图像边缘检测实验

课程实验目的 1.数字信号处理是一门理论与实践并重的课程,在学习理论知识的同时再配合经典DSP实验,可以加深对数字信号处理软、硬件的理解与掌握。 2.接触并了解SEED-DTK6446实验箱,学会通过Linux操作平台,利用SEED-DTK6446实验箱完成一些经典的实验历程,加深对数字信号处理的了解。 3. 学习并掌握SEED-DTK6446 CCS开发环境的搭建,建立好所有编译测试环境,为下面的实验做好准备工作。 实验一 CCS使用实验 一、实验目的 1.熟悉CCS3.3集成开发环境,掌握工程的生成方法; 2.熟悉SEED-DTK6446实验环境; 3. 学习用标准C 语言编制程序; 4.掌握CCS3.3集成开发环境的调试方法; 二、实验内容 1.DSP源文件的建立; 2.DSP程序工程文件的建立; 3. 学习使用CCS3.3集成开发工具的调试工具。 三、实验步骤 1.创建源文件:选择File →New →Source File 命令;打开配套光盘\03. Examples of program\01.SEEE-DTK6446 CCS Examples\examples\3.1.1 math。 2.创建工程文件:点击Project-->New,创建新工程;点击Project选择add files to project,添加源程序math.c。 3. 设置编译与连接选项:点击Project选择Build Opitions; 4. 工程编译与调试:点击Project →Build all,对工程进行编译;点击File →load program,在弹出的对话框中载入debug 文件夹下的.out可执行文件;点击debug →Go Main回到C程序的入口;运行程序并观察输出结果。 四.实验要求:

数字信号处理实验三

实验三:离散LSI 系统的频域分析 一、实验内容 2、求以下各序列的z 变换: 12030() ()sin() ()sin()n an x n na x n n x n e n ωω-=== 程序清单如下: syms w0 n z a; x1=n*a^n;X1=ztrans(x1) x2=sin(w0*n);X2=ztrans(x2) x3= exp(-a*n)*sin(w0*n);X3=ztrans(x3) 程序运行结果如下: X1 =z/(a*(z/a - 1)^2) X2 =(z*sin(w0))/(z^2 - 2*cos(w0)*z + 1) X3 =(z*exp(a)*sin(w0))/(exp(2*a)*z^2 - 2*exp(a)*cos(w0)*z + 1) 3、求下列函数的逆z 变换 0 312342 1 1() () () ()() 1j z z z z X z X z X z X z z a z a z e z ω---= = = = ---- 程序清单如下: syms w0 n z a; X1=z/(z-a);x1=iztrans(X1) X2= z/(a-z)^2;x2=iztrans(X2) X3=z/ z-exp(j*w0);x3=iztrans(X3) X4=(1-z^-3)/(1-z^-1);x4=iztrans(X4) 程序运行结果如下: x1 =a^n x2 =n*a^n/a 课程名称 数字信号 实验成绩 指导教师 实 验 报 告 院系 信息工程学院 班级 学号 姓名 日期

x3 =charfcn[0](n)-iztrans(exp(i*w0),w0,n) x4 =charfcn[2](n)+charfcn[1](n)+charfcn[0](n) 4、求一下系统函数所描述的离散系统的零极点分布图,并判断系统的稳定性 (1) (0.3)()(1)(1) z z H z z j z j -= +-++ z1=[0,0.3]';p1=[-1+j,-1-j]';k=1; [b1,a1]=zp2tf(z1,p1,k); subplot(1,2,1);zplane(z1,p1); title('极点在单位圆外); subplot(1,2,2);impz(b1,a1,20); 由图可见:当极点位于单位圆内,系统的单位序列响应随着频率的增大而收敛;当极点位于单位圆上,系统的单位序列响应为等幅振荡;当极点位于单位圆外,系统的单位序列响应随着频率的增大而发散。由此可知系统为不稳定系统。 -1 -0.5 00.51 -2 -1.5-1-0.500.511.5 2Real Part I m a g i n a r y P a r t 极点在单位圆外 n (samples) A m p l i t u d e Impulse Response

数字信号处理实验报告一

武汉工程大学 数字信号处理实验报告 姓名:周权 学号:1204140228 班级:通信工程02

一、实验设备 计算机,MATLAB语言环境。 二、实验基础理论 1.序列的相关概念 2.常见序列 3.序列的基本运算 4.离散傅里叶变换的相关概念 5.Z变换的相关概念 三、实验内容与步骤 1.离散时间信号(序列)的产生 利用MATLAB语言编程产生和绘制单位样值信号、单位阶跃序列、指数序列、正弦序列及随机离散信号的波形表示。 四实验目的 认识常用的各种信号,理解其数字表达式和波形表示,掌握在计算机中生成及绘制数字信号波形的方法,掌握序列的简单运算及计算机实现与作用,理解离散时间傅里叶变换,Z变换及它们的性质和信号的频域分

实验一离散时间信号(序列)的产生 代码一 单位样值 x=2; y=1; stem(x,y); title('单位样值 ') 单位阶跃序列 n0=0; n1=-10; n2=10; n=[n1:n2]; x=[(n-n0)>=0]; stem(n,x); xlabel('n'); ylabel('x{n}'); title('单位阶跃序列');

实指数序列 n=[0:10]; x=(0.5).^n; stem(n,x); xlabel('n'); ylabel('x{n}'); title('实指数序列');

正弦序列 n=[-100:100]; x=2*sin(0.05*pi*n); stem(n,x); xlabel('n'); ylabel('x{n}'); title('正弦序列');

随机序列 n=[1:10]; x=rand(1,10); subplot(221); stem(n,x); xlabel('n'); ylabel('x{n}'); title('随机序列');

数字信号处理实验报告(全)

实验一、离散时间系统及离散卷积 1、单位脉冲响应 源程序: function pr1() %定义函数pr1 a=[1,-1,0.9]; %定义差分方程y(n)-y(n-1)+0.9y(n-2)=x(n) b=1; x=impseq(0,-40,140); %调用impseq函数 n=-40:140; %定义n从-40 到140 h=filter(b,a,x); %调用函数给纵座标赋值 figure(1) %绘图figure 1 (冲激响应) stem(n,h); %在图中绘出冲激 title('冲激响应'); %定义标题为:'冲激响应' xlabel('n'); %绘图横座标为n ylabel('h(n)'); %绘图纵座标为h(n) figure(2) %绘图figure 2 [z,p,g]=tf2zp(b,a); %绘出零极点图 zplane(z,p) function [x,n]=impseq(n0,n1,n2)%声明impseq函数 n=[n1:n2]; x=[(n-n0)==0]; 结果: Figure 1: Figure 2:

2、离散系统的幅频、相频的分析 源程序: function pr2() b=[0.0181,0.0543,0.0543,0.0181]; a=[1.000,-1.76,1.1829,-0.2781]; m=0:length(b)-1; %m从0 到3 l=0:length(a)-1; %l从0 到3 K=5000; k=1:K; w=pi*k/K; %角频率w H=(b*exp(-j*m'*w))./(a*exp(-j*l'*w));%对系统函数的定义 magH=abs(H); %magH为幅度 angH=angle(H); %angH为相位 figure(1) subplot(2,1,1); %在同一窗口的上半部分绘图 plot(w/pi,magH); %绘制w(pi)-magH的图形 grid; axis([0,1,0,1]); %限制横纵座标从0到1 xlabel('w(pi)'); %x座标为 w(pi) ylabel('|H|'); %y座标为 angle(H) title('幅度,相位响应'); %图的标题为:'幅度,相位响应' subplot(2,1,2); %在同一窗口的下半部分绘图 plot(w/pi,angH); %绘制w(pi)-angH的图形 grid; %为座标添加名称

数字信号处理实验4

数字信号处理实验四 第一题结果: (1)没有增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 %H(3,13) = 0.75;H(5,11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线

(2)增加过渡点 源码如下: N = 15; H = [1 1 1 0.5 zeros(1,7) 0.5 1 1 1]; %确定抽样点的幅度大小 H(3) = 0.75;H(13) = 0.75;H(5) = 0.25;H(11) = 0.25; %设置过渡点 k = 0:N-1; A = exp(-j*pi*k*(N-1)/N); %抽样点相位大小 HK = H.*A; %求抽样点的H(k) hn = ifft(HK,N); %求出FIR的单位冲激响应h(n) freqz(hn,1,256); %画出幅频相频曲线figure(2); stem(real(hn),'.'); %绘制单位冲激响应的实部 line([0,35],[0,0]);xlabel('n');ylabel('Real(h(n))'); 单位脉冲响应曲线 幅频和相频特性曲线 第二题结果:

数字信号处理实验1

clc; clear; M=26;N=32;n=0:M; xa=0:M/2; xb=ceil(M/2)-1:-1:0; xn=[xa,xb]; Xk=fft(xn,512); Xk1=abs(Xk); X32k=fft(xn,32); X32k1=abs(X32k); x32n=ifft(X32k); X16k=X32k(1:2:N); X16k1=abs(X16k); x16n=ifft(X16k,N/2); figure(1); subplot(3,2,1); stem(Xk1); subplot(3,2,2); stem(X32k1); subplot(3,2,3); stem(x32n); subplot(3,2,4); stem(X16k1); subplot(3,2,5); stem(x16n); Lx=41;N=5;M=10; hn=ones(1,N);hn1=[hn zeros(1,Lx-N)]; n=0:Lx-1; xn=cos(pi*n/10)+cos(2*pi*n/5); yn=fftfilt(hn,xn,M); figure(1); subplot(3,1,1); stem(hn1); subplot(3,1,2); stem(xn); subplot(3,1,3); stem(yn);

clc; clear; n=0:31; A=3; y=A*exp((0.8+j*314)*n); subplot(2,1,1); stem(y); Az=[0.7 0.3]; Bz=[1 -0.8 -0.5]; subplot(2,1,2); zplane(Bz,Az);

数字信号 实验四

一、 实验目的和要求: (1)进一步掌握线性卷积的计算机编程方法,利用卷积的方法观察系统响应的时域特性。 (2)掌握循环卷积的计算机编程方法,并比较与线性卷积的差别,验证二者之间的关系。利用循环卷积的方法观察、分析系统响应的时域特性。 二、 实验内容与原理: 1.实验原理: (1)线性卷积: 线性时不变系统(Linear Time-Invariant System, or L. T. I 系统)输入、输出间的关系为:当系统输入序列为)(n x ,系统的单位脉冲响应为)(n h ,输出序列为)(n y ,则系统输出为:∑∞ -∞ =-=*=m m n h m x n h n x n y )()()()()(;上式称为线性卷积。 (2)循环卷积 设两个有限长序列)(1n x 和)(2n x ,长度分别为1N 和2N ,)()(11k X n x DFT N ?? ?→←点 )()(22k X n x DFT N ???→←点。如果)()()(21k X k X k X ?=,则 ∑---==1 21)())(()()]([)(N m N N n R m n x m x k X IDFT n x 上式称为)(1n x 和)(2n x 的循环卷积。 (3)两个有限长序列的线性卷积 序列)(1n x 和)(2n x ,长度分别为L 点和P 点,)(3n x 为这两个序列的线性卷积,则 )(3n x 为∑∞ -∞ =-= *=m m n x m x n x n x n x )()()()()(2 1 213且线性卷积)(3n x 的非零值长度为 1-+P L 点。 (4)循环卷积与线性卷积的关系 序列)(1n x 为L 点长,序列)(2n x 为P 点长,若序列)(1n x 和)(2n x 进行N 点的循环卷积)(n x c ,其结果是否等于该两序列的线性卷积)(n x l ,完全取决于循环卷积的长度。 由教材相关推导,得∑∞ -∞ =+= q N l c n R qN n x n x )()()(,也就是说,循环卷积是线性卷积 的周期延拓序列再取主值区间。 当1-+≥P L N 时循环卷积等于线性卷积,即)()(n x n x l c =;

数字信号处理实验二

实验二: 用FFT 作谱分析 实验目的 (1) 进一步加深DFT 算法原理和基本性质的理解(因为FFT 只是DFT 的一种快速算法, 所以FFT 的运算结果必然满足DFT 的基本性质)。 (2) 熟悉FFT 算法原理和FFT 子程序的应用。 (3) 学习用FFT 对连续信号和时域离散信号进行谱分析的方法, 了解可能出现的分析误差及其原因, 以便在实际中正确应用FFT 。 ● 实验步骤 (1) 复习DFT 的定义、 性质和用DFT 作谱分析的有关内容。 (2) 复习FFT 算法原理与编程思想, 并对照DIT-FFT 运算流图和程序框图, 读懂本实验提供的FFT 子程序。 (3) 编制信号产生子程序, 产生以下典型信号供谱分析用: (4) 编写主程序。 下图给出了主程序框图, 供参考。 本实验提供FFT 子程序和通用绘图子程序。 (5) 按实验内容要求, 上机实验, 并写出实验报告。 1423()()1,03()8470403()3470 x n R n n n x n n n n n x n n n =?+≤≤? =-≤≤?? ?-≤≤?? =-≤≤???456()cos 4 ()sin 8 ()cos8cos16cos20x n n x n n x n t t t π π πππ===++

●实验内容 (1) 对2 中所给出的信号逐个进行谱分析。 (2) 令x(n)=x4(n)+x5(n),用FFT计算8 点和16 点离散傅里叶变换, X(k)=DFT[x(n)] (3) 令x(n)=x4(n)+jx5(n),重复(2)。 ●实验报告要求 (1) 简述实验原理及目的。 (2) 结合实验中所得给定典型序列幅频特性曲线,与理论结果比较,并分析说明误差产生的原因以及用FFT作谱分析时有关参数的选择方法。 (3) 总结实验所得主要结论。 (4) 简要回答思考题。 Matlab代码: 对六个所给信号进行谱分析的主程序(对信号进行64点的FFT变换): clc;clear all; N=64; x1=Signal_x1(N);

数字信号实验处理实验报告

中国石油大学(北京) China University of Petroleum 基于MATLAB的数字 信号处理 实验名称:DFT和DCT的应用 姓名: 学号: 日期:2017.4.10

1. 用FFT 计算线性卷积(预习实验指导书p9内容) 两个序列:x1=[1 2 3 4 5 6]; x2=[3 2 1 1 2 3 4],用DFT 求两者的循环卷积, (1) 取FFT 长度L=10,问哪些点上的循环卷积=线性卷积? (2) 取FFT 长度L=12,结果又如何? 程序代码: x1=[1 2 3 4 5 6];x2=[3 2 1 1 2 3 4];Y1=conv(x1,x2); N=10;m=length(x1)+length(x2)-1;n=0:m-1; subplot(311); stem(n,Y1); title('线性卷积结果'); x1=[x1,zeros(1,N-length(x1))]; x2=[x2,zeros(1,N-length(x1))]; xk1=fft(x1,N); xk2=fft(x2,N); Yk=xk1.*xk2; y1=ifft(Yk,N); subplot(312); stem(0:N-1,y1); title('长度取10的循环卷积结果'); N=12; x1=[x1,zeros(1,N-length(x1))]; x2=[x2,zeros(1,N-length(x1))]; xk1=fft(x1,N); xk2=fft(x2,N); Yk1=xk1.*xk2; y2=ifft(Yk1,N); subplot(313); stem(0:N-1,y2); title('长度取12的循环卷积结果'); 结果: 2. 探地雷达信号谱分析 线性卷积结果 长度取10的循环卷积结 果 长度取12的循环卷积结果

数字信号处理实验一.

实验一离散傅里叶变换的性质 一、实验目的 1、掌握离散傅里叶变换的性质,包括线性特性、时移特性、频移特性、对称性和循环卷积等性质; 2、通过编程验证傅里叶变换的性质,加强对傅里叶变换性质的认识。二、实验原理和方法 1. 线性特性 1212DFT[((]((ax n bx n aX k bX k +=+ 2. 时移特性 DFT[(](DFT[(]( km km x n m W X k x n m W X k ?+=?= 3. 频移特性 ((nl N IDFT X k l IDFT X k W +=???????? 4. 对称性 设由x(n开拓成的周期序列为 (p x n 则(((p pe po x n x n x n =+ 偶序列(((*1 2 pe p p x n x n x N n ??= +???奇序列(((*12 po p p x n x n x N n ??=

????将(pe x n 和(po x n 截取主周期,分别得 (((pet pe N x n x n R n = (((pot po N x n x n R n = 则(((((p N pet pot x n x n R n x n x n ==+ x(n序列的实部和虚部的离散立叶变换 ({} (Re pet DFT x n X k =???? ({} (Im pot DFT j x n X k =???? [][] (((((((((((arg (arg (R R R I I I X k X k X N k X k X k X N k X k X k X N k X k X N k X k X k ?=?=?=?=?=??=??=?=?? 5. 循环卷积 (3123121 (((((x n x n x n X k X k X k N =?= ?有限长序列线性卷积与循环卷积的关系 X1(n和x2(n的线性卷积: 11 31 2 1 2 0(((((N m m x n x m x n m x m x n ?∞=?∞

数字信号处理实验八

实验报告 实验名称:FIR数字滤波器设计及应用 课程名称____数字信号处理________ 院系部:电气与电子工程专业班级:信息1002 学生姓名:王萌学号: 11012000219同组人:实验台号: 指导教师:范杰清成绩: 实验日期: 华北电力大学

一、实验目的 加深理解 FIR 数字滤波器的时域特性和频域特性,掌握FIR 数字 滤波器的设计原理与设计方法,以及FIR 数字滤波器的应用。 二、 实验原理 FIR 数字滤波器可以设计成具有线性相位,在数据通信、图像处理、 语音信号处理等实际应用领域得到广泛应用。 M 阶FIR 数字滤波器的系统函数为: FIR 数字滤波器的单位脉冲响应h [k ]是长度为M +1的有限长因果序列。当满足对称条件时,该FIR 数字滤波器具有线性相位。FIR 数字滤波器设计方法主要有窗口法、频率取样法及优化设计法。 MATLAB 中提供的常用FIR 数字滤波器设计函数有: fir1 窗函数法设计FIR 数字滤波器(低通、高通、带通、 带阻、多频带滤波器) fir2 频率取样法设计FIR 数字滤波器:任意频率响应 firls FIR 数字滤波器设计:指定频率响应 firrcos 升余弦型 FIR 数字滤波器设计 intfilt 内插FIR 数字滤波器设计 kaiserord 凯塞(Kaiser)窗函数设计法的阶数估计 firpm Parks-McClellan 算法实现FIR 数字滤波器优化设计 firpmord Parks-McClellan 数字滤波器的阶数选择 cremez 复系数非线性相位FIR 等波纹滤波器设计 1、 窗口法设计FIR 数字滤波器 fir1函数可以很容易地实现FIR 数字滤波器窗口法设计。 可设计低通、高通、带通、带阻滤波器、多频带滤波器。 k M k z k h z H -=∑=][)(0

数字信号处理实验二

实验二离散时间系统的时域分析实验室名称: 实验时间:

六、实验记录(数据、图表、波形、程序等) Q2、1 程序代码: %产生输入信号 n = 0:100; s1 = cos(2*pi*0、05*n); %一个低频正弦 s2 = cos(2*pi*0、47*n); %一个高频正弦 x = s1+s2; %滑动平均滤波器的实现 M = input('Desired length of the filter = '); num = ones(1,M); y = filter(num,1,x)/M; clf; %显示输入与输出信号 subplot(2,2,1); plot(n, s1); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #1'); subplot(2,2,2); plot(n, s2); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Signal #2'); subplot(2,2,3); plot(n, x); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Input Signal'); subplot(2,2,4); plot(n, y); axis([0, 100, -2, 2]); xlabel('Time index n'); ylabel('Amplitude'); title('Output Signal'); axis; 显示结果:

数字信号实验2

数字信号处理实验学号:110220217 姓名:齐兴 实验一离散傅里叶变换的性质 实验内容和步骤 x1[n],x2[n] 07 n ≤≤为长度N=8的实序列,x1[n]=[1 3 5 3 6 8 3 9],x2[n]=[2 4 3 6 7 9 0 2 ],采用MATLAB编程验证傅里叶变换的如下性质 1.线性特性 a.给出序列x1[n]的傅里叶变换X1[k],并画出其幅度谱和相位谱 b.给出序列x2[n]的傅里叶变换X2[k] ,并画出其幅度谱和相位谱 c.给出序列Z=2*X1[k]+6*x2[k],并与序列2*x3[n]+6*x4[n]的傅里叶变换比较, 程序清单: clc; clear; x1=[1 3 5 3 6 8 3 9]; x2=[2 4 3 6 7 9 0 2]; X1=fft(x1); X2=fft(x2); a1=abs(X1); a2=angle(X1); b1=abs(X2); b2=angle(X2); subplot(321);stem(a1);title('x1幅度谱'); subplot(322);stem(a2);title('x1相位谱'); subplot(323);stem(b1);title('x2幅度谱'); subplot(324);stem(b2);title('x2相位谱'); Z=2*X1+6*X2; W=2*x1+6*x2; subplot(325);stem(Z); subplot(326);stem(W); 图像:

2.时移特性 给出序列x1[n]右移3位(循环移位)后的傅里叶变换的幅度谱和相位谱,并和原始序列的幅度谱和相位谱相比较 程序清单: clc; clear; x1=[1 3 5 3 6 8 3 9]; x2=circshift(x1,[0,3]) ; X1=fft(x1); X2=fft(x2); a1=abs(X1); a2=angle(X1); b1=abs(X2); b2=angle(X2); subplot(221);stem(a1);title('x1原始幅度谱'); subplot(222);stem(a2);title('x1原始相位谱'); subplot(223);stem(b1);title('x1右移3位幅度谱'); subplot(224);stem(b2);title('x1右移3位相位谱'); 图像:

相关文档