网站大量收购独家精品文档,联系QQ:2885784924

数字信号处理第三次实验代码及波形图.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数字信号处理第三次实验 一、实验目的: 1、掌握离散时间系统的DFT的MATLAB实现; 2、熟悉DTFT和DFT之间的关系。 3、了解信号不同变形的DFT与原信号DFT之间的关系 二、实验内容: 1.开发一个时域圆周移位的matlab函数cirshift.m并测试:设x(n=[9 8 7 6 5 4 3],求x((n-48R8(n以及x((n+58R8(n。 function y=cirshift(x,m,N %长度为N的x序列(时域作m点圆周位移 %------------------------------------- %[y]=cirshift(x,m,N %y=包含圆周位移的输出序列 %x=长度=N的输入序列 %m=移位样点数 %N=圆周缓冲器长度 %方法:y(n=x((n-mmod N %check for length of x if length(xN error(N必须=x的长度 end x=[x zeros(1,N-length(x];%将x补零到长度为N n=[0:1:N-1]; n=mod(n-m,N; y=x(n+1; %主函数.m clc;clear all; x=[9 8 7 6 5 4 3]; y1=cirshift(x,4,8; y2=cirshift(x,-5,8; 2. 开发一个圆周翻转的matlab函数cirflip.m并测试:设x(n=[9 8 7 6 5 4 3 2 1],求x(n的16点圆周翻转x((-n16R16(n。 function y=cirfilp(x,N nx=[0:1:N-1]; y=x(mod(-nx,N+1; %主函数.m clc;clear all; x=[9 8 7 6 5 4 3 2 1]; N=16; x=[x zeros(1,N-length(x]; nx=0:N-1; y=cirfilp(x,16; subplot(121,stem([0:N-1],x;title(原序列; xlabel(n;ylabel(x(n;grid; subplot(122,stem([0:N-1],y;title(圆周翻褶序列; xlabel(n;ylabel(x((n16r16(n;grid; 3. 开发一个分解圆周奇偶对称序列的matlab函数cirevod.m并测试:设x(n=[9 8 7 6 5 4 3 2 1],将x(n分解圆周奇偶对称序列 x ep(n 、x op(n。 function [xep,xop]=circevod(x %将实序列分解为圆周偶和圆周奇两部分 %------------------------------------ %[xep,xop]=circevod(x if any(imag(x~=0 error(x非实序列 end N=length(x; n=0:N-1; xep=0.5*(x+x(mod(-n,N+1; xop=0.5*(x-x(mod(-n,N+1; %主函数.m x=[9 8 7 6 5 4 3 2 1]; [xep,xop]=circevod(x; 4. 开发一个实现DFT矩阵的函数wN=dftmtx(N并测试N=4,8, 16的DFT矩阵,在此基础上寻求IDFT矩阵wNI的编程方法并测试N=4,8,16的IDFT矩阵 %这是matlab自带的函数命令行输入type+dftmtx可查看源代码。 function D = dftmtx(n n = signal.internal.sigcasttofloat(n,double,dftmtx,N,... allownumeric; D = fft(eye(n; 命令行输入: wN=dftmtx(N; wNI=conj(dftmtx(N/N DFT N=4 N=8 N=16 IDFT: N=4 N=8 N=16 5.自编工具函数XK=dft(xn,N实现DFT以及IDFT,并测试x(n=[9 8 7 6 5 4 3 2 1]的DFT。 function[Xk]=dft(xn,N n=[0:1:N-1]; k=n; WN=exp(-j*2*pi/N; nk=n*k; WNnk=WN.^(nk; Xk=xn*WNnk; %主函数 xn=[9 8 7 6 5 4 3 2 1] y=dft(x,9; function[Xk]=idft(xn,N n=[0:1:N-1]; k=n; WN=exp(-j*2*pi/N; nk=n*k; WNnk=WN.^(-nk; Xk=(xn*WNnk/N; 6. 开发一个圆周卷积计算的matlab函数y=circonvt(x1,x2,N,并测试x1(n=[1 2 3 4 9], x2=[7 6 5 4 3 2 1

文档评论(0)

559999330000 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档