matlab实验

发布 2022-09-20 20:47:28 阅读 5990

实验。一、抽样定理。

一)实验目的:

1、验证乃奎斯特采样定理,加深对时域采样信号频谱变化的认识。

2、掌握序列傅里叶变换的计算机实现方法,利用序列傅里叶变换对连续信号、离散信号及系统响应进行频域分析。

二)实验内容:

1、设x(n)=(0.8.) nu(n),利用filter函数求出x(n)*x(n)的前50个样本,并作图。

相关m文件:

nb=0:50;x=(0.8).^nb;

yb=filter(1,[1,-0.8],x);

stem(nb,yb);axis([-1,51,-1,3])

xlabel('n');ylabel('y_b(n)')title('filter output');

2、考虑模拟信号在ts=0.01s, 0.05s和0.1s间隔采样得到x(n)。

1)对每一个ts,画出x(n)。

2)采用sinc内插(用δt=0.001)从样本x(n)重建模拟信号ya(t),并从图中求出在ya(t)中的(不管末端效果)。

3)采用三次样条内插从样本x(n)重建模拟信号,并从图中求出在ya(t)中的(不管末端效果)。

相关m文件:

t=0:0.001:1;xa=cos(20*pi*t);

ts=0.01;n1=round(1/ts);n1=0:n1;x1=cos(20*pi*n1*ts);

subplot(3,1,1);plot(t,xa,n1*ts,x1,'o');

ylabel('x_1(n)')title('sampling of x_a(t) using ts=0.01');

ts=0.05;n2=round(1/ts);n2=0:n2;x2=cos(20*pi*n2*ts);

subplot(3,1,2);plot(t,xa,n2*ts,x2,'o');

ylabel('x_2(n)')title('sampling of x_a(t) using ts=0.05');

ts=0.1;n3=round(1/ts);n3=0:n3;x3=cos(20*pi*n3*ts);

subplot(3,1,3);plot(t,xa,n3*ts,x3,'o');

ylabel('x_3(n)')title('sampling of x_a(t) using ts=0.1');

ts=0.01;fs=1/ts;

xa1=x1*sinc(fs*(ones(length(n1),1)*t-(n1*ts)'*ones(1,length(t)))

subplot(3,1,1);plot(t,xa1);axis([0,1,-1.1,1.1]);

ylabel('x_a(t)')title('reconstruction of x_a(t) when ts=0.01');

ts=0.05;fs=1/ts;

xa2=x2*sinc(fs*(ones(length(n2),1)*t-(n2*ts)'*ones(1,length(t)))

subplot(3,1,2);plot(t,xa2);axis([0,1,-1.1,1.1]);

ylabel('x_a(t)')title('reconstruction of x_a(t) when ts=0.05');

ts=0.1;fs=1/ts;

xa3=x3*sinc(fs*(ones(length(n3),1)*t-(n3*ts)'*ones(1,length(t)))

subplot(3,1,3);plot(t,xa3);axis([0,1,-1.1,1.1]);

ylabel('x_a(t)')title('reconstruction of x_a(t) when ts=0.1');

ts=0.01;fs=1/ts;

xa1=spline(ts*n1,x1,t);

subplot(3,1,1);plot(t,xa1);axis([0,1,-1.1,1.1]);

ylabel('x_a(t)')title('reconstruction of x_a(t) when ts=0.01');

ts=0.05;fs=1/ts;

xa2=spline(ts*n2,x2,t);

subplot(3,1,2);plot(t,xa2);axis([0,1,-1.1,1.1]);

ylabel('x_a(t)')title('reconstruction of x_a(t) when ts=0.05');

ts=0.1;fs=1/ts;

xa3=spline(ts*n3,x3,t);

subplot(3,1,3);plot(t,xa3);axis([0,1,-1.1,1.1]);

ylabel('x_a(t)')title('reconstruction of x_a(t) when ts=0.1');

实验。二、应用fft实现实现信号频谱分析。

一)实验目的:

1、进一步加深对dft算法原理和基本性质的理解(因为fft只是dft的一种快速算法,所以fft的运算结果必然满足dft的基本性质)。

2、学习用fft对连续信号和时域离散信号进行频谱分析的方法,了解可能出现的误差及原因,以便在实际应用中正确使用fft这一工具。。

二)实验内容:

1、考虑长度为5的有限长序列x(0)=1, x(1)=3, x(2)=5, x(3)=1, x(4) =1,设采样周期为0.5s,要求用fft来计算其频谱。

相关m文件:

x=[1,3,5,3,1];nx=0:4;t=0.5给定原始数据。

n=length(x);d=2*pi/(n*t求出序列长度及频率分辨率。

k=floor((-n-1)/2):(n-1)/2求对称于零频率的fft位置向量。

x=fftshift(fft(x,n求对称于零频率的fft序列值。

subplot(2,1,1),plot(k*d,abs(x),'o画幅频特性图。

subplot(2,1,2),plot(k*d,angle(x),'o画相频特性图。

2、用fft计算下列连续时间信号的频谱。

相关m文件:

t0=[0.6,0.15,0.15,0.15];

n0=[256,256,256,2048];

for r=1:4

t=t0(r);n=n0(r);n=0:n-1;

d=2*pi/(n*t);

x=exp(-0.01*n*t).*cos(2*n*t)+2*exp(-0.015*n*t).*cos(2.1*n*t);

xa=t*fftshift(fft(x));

[r,xa(1)]

k=floor(-(n-1)/2:(n-1)/2);

subplot(2,2,r),plot(k*d,abs(xa))

end3、已知序列是绘制x(n)及其离散傅里叶变换的图形。

相关m文件:

n=100;n=0:n-1;

xn=2*sin(0.48*pi*n)+cos(0.52*pi*n);

xk=fft(xn,n);

magxk=abs(xk);phaxk=angle(xk);

subplot(2,1,1),plot(n,xn),xlabel('n');ylabel('x(n)')title('x(n) n=100')

subplot(2,1,2)

k=0:length(magxk)-1;

stem(k,magxk, '

xlabel('k');ylabel('|x(k)|'title('x(k) n=100');

实验。三、利用c语言实现fft及ifft算法。

一) 实验目的:

二) 实验内容:

产生一个8点时域序列的正弦波数据源,利用基2时间抽取fft算法将该数据序列转换为离散频域序列,然后再将产生的离散频域数据利用idft快速算法反演为离散时域数据,给出实现上述要求的程序流程图及c语言**。要求:将运行结果截图保存。

相关c文件:

fft programe 时间抽取。

#include<>

#include ""

#include ""

struct compx定义一个复数结构*/

double real;

double imag;

compx;

struct compx ee(struct compx b1,struct compx b2)/*定义复数。

相等结构*/

struct compx b3;

return(b3);

void fft(struct compx *xin,int n)/*fft变换函数*/

int f,m,lh,nm,i,k,j,l;

double p,ps;

int le,b,ip;

double pi;

struct compx w,t;

lh=n/2;

f=n;for(m=1;(f=f/2)!=1; m++)m为蝶形图的级数*/

nm=n-2

j=n/2/*变址运算*/

for(i=1;i<=nm;i++)

k=lh;while(j>=k)

j=j+k;

for(l=1;l<=m;l++)

le=pow(2,l);

b=le/2;

pi=3.14159;

for(j=0;j<=b-1;j++)

p=pow(2,m-l)*j;

ps=(2*pi/n)*p;

for(i=j;i<=n-1;i=i+le)

matlab实验

电子信息工程系实验报告。课程名称 计算机 技术。实验项目名称 实验1 matlab基础 matlab编程应用实验时间 2011 9 18 班级 电信092 姓名学号 t span cr r 10 一 实验目的 熟悉matlab工作环境和基本操作。二 实验环境 硬件 pc机,酷睿i3双核,2g内存 软...

MATLAB实验

实验名称 matlab实验。学生姓名 班级 601 班内序号 31 学号 2012212084 日期 2014.3.15 实验要求 因为现实世界里存在的是模拟信号,因此数字信号处理的第一个问题是将信号离散化,得到一个数字信号,然后再进行数字处理。1 常用数字信号序列的产生 熟悉 matlab 产生数...

MATLAB实验

课程实验报告。课程名称 matlab与机电系统 实验名称实验一matlab数值与符号运算。实验一 matlab数值与符号运算。1 目的和要求。1 熟练掌握matlab的启动和退出 matlab的命令窗口 常用选单和工具栏,通过实例初步认识对matlab的命令和程序运行等。2 熟练掌握matlab数值...