数字信号处理实验报告一

  • 格式:doc
  • 大小:477.60 KB
  • 文档页数:19

下载文档原格式

  / 19
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

武汉工程大学

数字信号处理实验报告

姓名:周权

学号: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)利用MATLAB语言编程实现信号平滑运算。

(2)利用MATLAB语言编程实现信号的调制。

(3)利用MATLAB语言编程实现信号卷积运算。

(4)利用MATLAB语言编程实现信号离散傅立叶的正反变换。利用MATLAB语言编程实现信号的圆周移位、圆周卷积,验证DFT 的圆周时移、圆周卷积性质和圆周卷积与线性卷积的关系。验证一个周期实序列奇偶部分的DFT与此序列本身的DFT之间的关系。

实验二序列的运算

平滑运算

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('Time index n');

ylabel('Amplitude');

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('Time index n');

ylabel('Amplitude');

调制程序

Fm=10;Fc=100;Fs=500;k=0:199;t=k/Fs;

x=sin(2*pi*Fm*t);y=x.*cos(2*pi*Fc*t);

X=fft(x,256);Y=fft(y,256);subplot(2,2,1);

plot(x);xlabel('t(s)');ylabel('x');

title('±»µ÷ÐźÅ');

subplot(2,2,2);plot(X);

plot([-128:127],fftshift(abs(X)));xlabel('w');ylabel('X(jw)'); title('xx');

subplot(2,2,3);plot(y);xlabel('t(s)');ylabel('y');

title('xy');

subplot(2,2,4);plot(Y);plot([-128:127],fftshift(abs(Y)));

xlabel('w');ylabel('Y(jw)');

title('yy');

卷积M函数

function[y,ny]=conv_m(x,nx,h,nh)

nyb=nx(1)+nh(1);nye=nx(length(x))+nh(length(h)); ny=[nyb:nye];

y=conv(x,h);

卷积程序

x=[0 0.5 1 1.5 0];nx=0:4;

h=[1 1 1 10 0];nh=0:4;

[y,ny]=conv_m(x,nx,h,nh);

subplot(2,2,1);stem(nx,x);title('xulie x'); xlabel('n');ylabel('x(n)');

subplot(2,2,2);stem(nh,h);title('xulie h'); xlabel('n');ylabel('h(n)');

subplot(2,2,3);stem(ny,y);title('junji');

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