- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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
您可能关注的文档
最近下载
- SENNHEISER森海塞尔促销促销MOMENTUM True Wireless 2使用说明书使用说明 MOMENTUM True Wireless 2.pdf
- 艾梅乙防治知识培训课件.pptx
- 乘用车甲醇燃料发动机油-2023标准.pdf
- 公共关系学模拟题三及答案.pdf VIP
- 2025届广东省广州市高三语文调研测试(零模)多篇作文汇编:“实用与审美”“手工制品重新受到人们的青睐”.docx
- 河道治理有关工程监理规划.doc
- 信管家指标公式源码博易大师指标博易大师期货软件指标准确率百分百指标.doc
- 汽车巡航控制系统(ccs)的设计.doc
- 2024年10月 高等教育自学考试 真题 生产运作与管理 14199.pdf VIP
- 污水沉井及顶管专项施工方案.pdf
文档评论(0)