数字信号处理实验报告一Word文件下载.docx

上传人:b****5 文档编号:20840424 上传时间:2023-01-25 格式:DOCX 页数:19 大小:376.82KB
下载 相关 举报
数字信号处理实验报告一Word文件下载.docx_第1页
第1页 / 共19页
数字信号处理实验报告一Word文件下载.docx_第2页
第2页 / 共19页
数字信号处理实验报告一Word文件下载.docx_第3页
第3页 / 共19页
数字信号处理实验报告一Word文件下载.docx_第4页
第4页 / 共19页
数字信号处理实验报告一Word文件下载.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数字信号处理实验报告一Word文件下载.docx

《数字信号处理实验报告一Word文件下载.docx》由会员分享,可在线阅读,更多相关《数字信号处理实验报告一Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。

数字信号处理实验报告一Word文件下载.docx

n0=0;

n1=-10;

n2=10;

n=[n1:

n2];

x=[(n-n0)>

=0];

stem(n,x);

xlabel('

n'

);

ylabel('

x{n}'

单位阶跃序列'

实指数序列

n=[0:

10];

x=(0.5).^n;

实指数序列'

正弦序列

n=[-100:

100];

x=2*sin(0.05*pi*n);

正弦序列'

随机序列

n=[1:

x=rand(1,10);

subplot(221);

随机序列'

实验二序列的运算

(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-.'

Timeindexn'

Amplitude'

legend('

d[n]'

s[n]'

x[n]'

x1=[00x];

x2=[0x0];

x3=[x00];

y=(x1+x2+x3)/3;

subplot(2,1,2);

plot(m,y(2:

r+1),'

y[n]'

调制程序

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);

t(s)'

x'

±

»

µ

÷

Ð

Å

º

'

subplot(2,2,2);

plot(X);

plot([-128:

127],fftshift(abs(X)));

w'

X(jw)'

xx'

subplot(2,2,3);

plot(y);

y'

xy'

subplot(2,2,4);

plot(Y);

127],fftshift(abs(Y)));

Y(jw)'

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=[00.511.50];

nx=0:

4;

h=[111100];

nh=0:

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

stem(nx,x);

xuliex'

x(n)'

stem(nh,h);

xulieh'

h(n)'

stem(ny,y);

junji'

y(n)'

Dft

function[Xk]=dft(xn,N)

1:

N-1];

k=n;

WN=exp(-j*2*pi/N);

nk=n'

*k;

WNnk=WN.^nk;

Xk=xn*WNnk;

Idft

function[Xk]=idft(xn,N)

WNnk=WN.^(-nk);

Xk=xn*WNnk/N;

程序

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

N=4;

xk=dft(xn,N)'

xk=[4,0,0,0];

xk=idft(xn,N)'

Matlab程序

N=length(xn);

n=0:

N-1;

k=0:

Xk=xn*exp(-j*2*pi/N).^(n'

*k);

x=(Xk*exp(j*2*pi/N).^(n'

*k))/N;

subplot(1,2,2);

stem(k,abs(Xk));

grid;

|X(k)|'

axis([-1,N,1.1*min(abs(Xk)),1.1*max(abs(Xk))]);

subplot(1,2,1);

stem(n,xn);

axis([-1,N,1.1*min(xn),1.1*max(xn)]);

序列的圆周移位

已知序列X(n)=10(0.8)n(0≤n≤10),序列圆周向右移m=3,绘制原序列波形和圆周移位序列波形

cigmod函数

functionm=sigmod(n,N);

m=rem(n,N);

m=m+N;

m=rem(m,N);

cirshhift函数

functiony=cirshift(x,m,N);

iflength(x)>

N

error('

Nmustbegreaterthenlength(x)'

end

x=[xzeros(1,N-length(x))];

n=sigmod(n-m,N);

y=x(n+1);

圆周移位程序

M=6;

N=11;

x=10*0.8.^n;

y=cirshift(x,M,N);

subplot(211)

原序列波形'

subplot(212)

stem(n,y);

圆周移位序列波形'

圆周卷积

已知X1=[122],x2=[1234],试计算x1

x2

程序卷积程序

functiony=circonvt(x1,x2,N)

iflength(x1)>

Length(x1)isnotgreatthanN'

iflength(x2)>

erroe('

Lengeh(x2)isnotgreaterthanN'

x1=[x1,zeros(1,N-length(x1))];

x2=[x2,zeros(1,N-length(x2))];

m=[0:

x2=x2(mod(-m,N)+1);

H=zeros(N,N);

forn=1:

N;

H(n,:

)=cirshift(x2,n-1,N);

y=x1*H'

运算程序x1=[122];

x2=[1234];

disp('

N=5'

N=5;

y=circonvt(x1,x2,N)

Z变换求(n-1)u(n)的Z变换

F=ztrans(sym('

n-1'

))

F=simplify(F)

=

z/(z 

1)^2 

1)

-(z*(z 

2))/(z 

1)^2

结果分析:

将函数分解为nu(n)-3u(n),再分别进行Z变换。

其中用到了ztrans函数和simplify函数

逆Z变换求X(z)=z-1/(1+z-1-20z-2),4<

|z|<

5

a=[11-20];

b=[010];

[r,p,k]=residuez(b,a)

r=-1,1为函数z变换后的系数,p为逆变换后系数。

验证一个周期实序列奇偶部分的DFT与此序列本身的DFT之间关系

dft程序

function[Xk]=dft(xn,N)n=[0:

Idft程序

function[Xk]=idft(xn,N)n=[0:

function[xev,xod]=circevod(x)

ifany(imag(x)~=0)

不是实序列'

N=length(x);

n=0:

(N-1);

xev=0.5*(x+x(sigmod(-n,N)+1));

xod=0.5*(x-x(sigmod(-n,N)+1));

已知序列X(n)=10(0.8)n,序列长度N=21绘出傅里叶的奇数部分和偶数部分并求它们的DFT

20];

N=length(n);

[xev,xod]=circevod(x);

stem(n,xev);

奇部'

xev(n)'

subplot(222)stem(n,xod);

偶部'

xod(n)'

holdonplot(n,zeros(1,N))

holdoff

Xkev=dft(xev,N);

Xkod=dft(xod,N);

Xkse=dft(x,N);

subplot(223);

stem(n,real(Xkev));

Xkev(k)'

偶部分的DFT'

subplot(224);

stem(n,imag(Xkod));

k'

Xkod(k)'

奇部分的DFT'

holdon

plot(n,zeros(1,N))

四:

实验总结

通过这几个实验对MATLAB有了简单的认识,并学会了基本的编写方法,也从中了解到了一些基本运算函数。

但是对于复杂的程序并不能准确给出,必须借助一些其他力量完成。

对于MATLAB学习还有很多需要在仔细学习,仅仅通过课堂时间完全不够。

5.实验拓展与思考

1.编程产生方波信号序列和锯齿波信号序列。

clf

x=[0:

0.01:

y1=square(pi*x);

subplot(1,2,1)

plot(x,y1);

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

y1'

title(‘方波'

y2=sawtooth(0.5*pi*x);

plot(x,y2);

y2'

锯齿波'

2.试验中你所产生的正弦序列的频率是多少?

怎样才能改变它?

分别是哪些参数控制该序列的相位。

振幅和周期?

0.05pi,在函数里面可以进行修改,A控制振幅,周期由频率控制。

3.编程实现序列长度为N的L点的正反离散傅立叶变换,并分析讨论所得的结果,其中L>

=N,如L=8,N=6。

L-1];

4.由实验说明离散傅立叶变换的对称关系,说明序列的时域和频域的关联特性。

1其实这是一个一般的规律,一个长为N的实数数组a,对其进行离散傅里叶变换得数组A,则A(i)与A(N-i)互为共轭,其i的取值与N的奇偶有关,详细如下:

1)N为偶数时,i=1,...,N/2-1,A(0)与A(N/2)各为其值,且肯定是实数;

2)N为奇数时,i=1,...,(N-1)/2,A(0)为实数

2若y(n)=x1(n)x2(n)则Y(k)=(1/N)X1(k)X2(k)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 农学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1