常见离散信号的MATLAB产生和图形显示 实验报告
- 格式:docx
- 大小:71.84 KB
- 文档页数:4
matlab离散频谱分析实验报告Matlab离散频谱分析实验报告引言:离散频谱分析是一种重要的信号处理技术,用于研究信号的频域特性。
在本次实验中,我们使用Matlab软件进行离散频谱分析,旨在通过实践掌握离散频谱分析的基本原理和方法,并通过实验结果验证其有效性。
一、实验目的本次实验的主要目的是研究信号的频谱特性,具体包括以下几个方面:1. 了解离散傅里叶变换(DFT)的原理和计算方法;2. 掌握Matlab中进行离散频谱分析的基本函数和操作;3. 分析不同信号的频谱特性,并通过实验结果验证分析的准确性。
二、实验步骤1. 生成测试信号首先,我们需要生成一个测试信号,以便进行后续的频谱分析。
在Matlab中,我们可以使用randn函数生成高斯白噪声信号,或者使用sin函数生成正弦信号。
根据实验要求,我们选择生成一个正弦信号作为测试信号。
2. 离散傅里叶变换(DFT)DFT是一种将时域信号转换为频域信号的方法。
在Matlab中,我们可以使用fft 函数进行DFT计算。
通过对测试信号进行DFT计算,我们可以得到信号的频谱。
3. 频谱图绘制为了更直观地观察信号的频谱特性,我们可以使用Matlab的plot函数将频谱绘制成图形。
通过观察频谱图,我们可以分析信号的频率分布、频谱幅值等特性。
4. 频谱分析根据实验要求,我们需要对测试信号进行频谱分析。
通过分析频谱图,我们可以得到信号的主要频率成分、频率分布情况等信息。
在实际应用中,频谱分析可以用于信号识别、滤波器设计等领域。
三、实验结果与分析在本次实验中,我们生成了一个频率为f的正弦信号,并进行了离散频谱分析。
通过观察频谱图,我们可以明显看到信号在频率为f处存在一个峰值,这表明信号主要由频率为f的成分组成。
同时,我们还观察到信号的频谱幅值随频率的变化而变化,这说明信号的不同频率成分具有不同的能量。
通过对不同频率信号的频谱分析,我们可以进一步研究信号的频率特性。
例如,对于周期信号,我们可以通过分析其频谱图确定其基频和谐波成分;对于非周期信号,我们可以通过分析其频谱图了解其频率分布情况。
常见离散信号产生和实现实验报告实验1常见离散信号产生和实现学院信息科学与工程学院专业通信工程1班姓名学号一、实验目的1、加深对常用离散信号的理解;2、熟悉使用MATLAB在时域中产生一些基本的离散时间信号。
二、实验原理MATLAB语言提供了一系列函数用来产生信号,如exp,sin,cos, square,sawtooth,ones,zeros等函数。
1.基本信号序列1)单位抽样序列???=01)(nδ≠=n n在MATLAB中可以利用zeros()函数实现。
x=[1zeros(1, n-1)]程序:clear all;n=-20:20;u=[zeros(1,20)ones(1,21)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p21');axis([-20200 1.2]);图形:Request1:编写一个)(k n-δ的函数。
???=-01)(k nδ≠=n kn程序:clear all;n=-20:20;k=5;u=[zeros(1,20+k)ones(1,21-k)];stem(n,u)xlabel('Time index n');ylabel('Amplitude'); title('p22');axis([-20200 1.2]);图形:(2)单位阶跃序列???01)(n u00<≥n n在MATLAB中可以利用ones()函数实现。
);,1(N ones x=Request2:编写一个)(k n u-的函数。
程序:clf;n=-20:20;u=[zeros(1,20)1zeros(1,20)];stem(n,u);xlabel('Time index n');ylabel('Amplitude');title('Unit Sample Sequence p10');axis([-20200 1.2]);图形:Request2:编写一个)(k n u-的函数。
matlab离散信号频谱分析实验报告
实验报告:Matlab离散信号频谱分析
实验目的:
本实验旨在通过Matlab软件对离散信号进行频谱分析,掌握离散信号频谱分析的基本原理和方法,以及利用Matlab实现频谱分析的操作步骤。
实验设备和软件:
1. 个人电脑
2. Matlab软件
实验原理:
离散信号频谱分析是指对离散时间信号进行频谱分析,通过计算信号的频谱特
性来了解信号的频率成分和频谱分布。
离散信号频谱分析通常包括傅里叶变换、离散傅里叶变换(DFT)、快速傅里叶变换(FFT)等方法。
实验步骤:
1. 生成离散信号:首先在Matlab中生成一个离散信号,可以是正弦信号、方波信号或者任意其他形式的离散信号。
2. 计算信号的频谱:利用Matlab中的傅里叶变换函数fft()对生成的离散信号进
行频谱分析,得到信号的频谱特性。
3. 绘制频谱图:利用Matlab绘图工具对计算得到的频谱数据进行可视化,绘制出信号的频谱图像。
实验结果:
通过Matlab离散信号频谱分析实验,我们成功生成了一个离散信号,并对其进行了频谱分析。
得到了信号的频谱特性,并通过绘制频谱图形象地展示了信号
的频谱分布情况。
实验结论:
通过本次实验,我们深入了解了离散信号频谱分析的基本原理和方法,掌握了利用Matlab进行离散信号频谱分析的操作步骤。
离散信号频谱分析在数字信号处理、通信系统等领域具有重要的应用价值,通过频谱分析可以更好地理解信号的频率成分和频谱特性,为信号处理和系统设计提供有力支持。
通过本次实验,我们对Matlab离散信号频谱分析有了更深入的了解,为今后在相关领域的研究和应用奠定了基础。
常见离散信号的MATLAB产⽣和图形显⽰实验报告实验⼀常见离散信号的MATLAB 产⽣和图形显⽰⼀实验⽬的加深对常⽤离散信号的理解⼆实验原理及实验内容1.单位抽样序列=01)(n δ 00≠=n nMATLAB 程序:%单位抽样序列t=-20:20; %产⽣⼀个-20到20的矩阵 x=zeros(1,41); %产⽣⼀个全为1的矩阵 x(21)=1; %x 的第21个元素为1 stem(t,x); %绘制x 的序列图 grid on; %画⽹格线 title('单位抽样序列') %加标题绘图:2.单位阶越序列01)(n u 00<≥n nMATLAB 程序: %单位阶越序列x=[zeros(1,20),ones(1,21)]; %产⽣⼀个前20个元素为0,后21个元素为1的数组 stem(t,x); %绘制x 的序列图 grid on; %画⽹格线title('单位阶越序列') %加标题绘图:3.正弦序列)/2sin()(?π+=Fs fn A n xMATLAB 程序: %正弦序列n=0:100; %产⽣⼀个0到100的矩阵 fai=pi/4; %相位赋值 A=2; %振幅赋值 f=1/50; %频率赋值Fs=1; %采样频率赋值 x=A*sin(2*pi*f*n/Fs+fai) ; %⽣成正弦序列x stem(n,x); %绘制x 的序列图 axis([0 50 -3 3]); %限定坐标轴范围 title('正弦序列'); %加标题绘图:4.复正弦序列jn)(=enx?MATLAB程序:%复正弦序列n=0:20;%产⽣⼀个0到20的矩阵x=exp(j*pi/20*n);%⽣成复正弦序列subplot(1,2,1),stem(n,real(x));%绘制x的实数部分title('复正弦序列实部');%加标题grid on; %画⽹格线subplot(1,2,2),stem(n,imag(x),'filled');%绘制x的虚部部分title('复正弦序列虚部');%加标题grid on%画⽹格线5.指数序列n)x=(naMATLAB程序:%指数序列n=0:10;%产⽣⼀个0到10的矩阵x=(0.6).^n;%⽣成⼀个底数为0.6的指数序列stem(n,x);%绘制x的序列图grid on%画⽹格线三.思考题1讨论复指数序列的性质(1)正交性,复指数序列⽤欧拉公式展开可得:e^jωn=cosωn+jsinωn其可表⽰⼀个余弦信号与⼀个正弦信号的叠加,这两个信号呈正交关系。
数字信号处理实验报告班级:硕姓名:学号:实验1 常见离散信号的MATLAB 产生和图形显示实验目的:加深对常用离散信号的理解;实验内容:(1)单位抽样序列clc;x=zeros(1,11); x(1)=1; n=0:1:10;stem(n,x, 'fill'); title('单位抽样序列'); xlabel('n'); ylabel('x[n]')延迟5个单位:clc;x=zeros(1,11); x(6)=1; n=0:1:10;stem(n,x, 'fill'); title('单位抽样序列'); xlabel('n'); ylabel('x[n]')nx [n ](2)单位阶跃序列clc;x=[zeros(1,5),ones(1,6)]; n=-5:1:5;stem(n,x,'fill'); title('单位阶跃序列'); xlabel('n'); ylabel('x[n]');nx [n ](3)正弦序列clc; N=50; n=0:1:N-1; A=1; f=1; Fs=50; fai=pi;x=A*sin(2*pi*f*n/Fs+fai); stem(n,x,'fill'); title('正弦序列'); xlabel('n'); ylabel('x[n]'); axis([0 50 -1 1]);nx [n ](4)复正弦序列clc; N=50; n=0:1:N-1; w=2*pi/50; x=exp(j*w*n); subplot(2,1,1); stem(n,real(x)); title('复正弦序列实部'); xlabel('n');ylabel('real(x[n])'); axis([0 50 -1 1]); subplot(2,1,2); stem(n,imag(x)); title('复正弦序列虚部'); xlabel('n');ylabel('imag(x[n])'); axis([0 50 -1 1]);nx [n ](5)指数序列clc; N=10; n=0:1:N-1; a=0.5; x=a.^n;stem(n,x,'fill'); title('指数序列'); xlabel('n'); ylabel('x[n]'); axis([0 10 0 1]);nr e a l (x [n ])ni m a g (x [n ])(6)复指数序列性质讨论:0(j )()enx n σω+=将复指数表示成实部与虚部为00()e cos j sin n n x n n e n σσωω=+1.当σ=0时,它的实部和虚部都是正弦序列。
MATLAB离散信号的产⽣和频谱分析实验报告实验⼀离散信号的产⽣和频谱分析⼀、实验⽬的仿真掌握采样定理。
学会⽤FFT 进⾏数字谱分析。
掌握FFT 进⾏数字谱分析的计算机编程实现⽅法。
培养学⽣综合分析、解决问题的能⼒,加深对课堂内容的理解。
⼆、实验要求掌握采样定理和数字谱分析⽅法;编制FFT 程序;完成正弦信号、线性调频信号等模拟⽔声信号的数字谱分析;三、实验内容单频脉冲(CWP )为)2e xp()()(0t f j T t rec t t s π=。
式中,)(Ttrect 是矩形包络,T 是脉冲持续时间,0f 是中⼼频率。
矩形包络线性调频脉冲信号(LFM )为)]21(2exp[)()(20Mt t f j Ttrect t s +=π。
式中,M 是线性调频指数。
瞬时频率Mt f +0是时间的线性函数,频率调制宽度为MT B =。
设参数为kHz f 200=,ms T 50=,kHz B 10=,采样频率kHz f s 100=。
1.编程产⽣单频脉冲、矩形包络线性调频脉冲。
2.编程实现这些信号的谱分析。
3.编程实现快速傅⽴叶变换的逆变换。
四、实验原理1、采样定理所谓抽样,就是对连续信号隔⼀段时间T 抽取⼀个瞬时幅度值。
在进⾏模拟/数字信号的转换过程中,当采样频率fs ⼤于信号中最⾼频率f 的2倍时(fs>=2f),采样之后的数字信号完整地保留了原始信号中的信息,⼀般实际应⽤中保证采样频率为信号最⾼频率的5~10倍;采样定理⼜称奈奎斯特定理。
2、离散傅⾥叶变换(FFT )长度为N 的序列()x n 的离散傅⽴叶变换()X k 为:10()(),0,....,1N nkN n X k x n W k N -===-∑N 点的DFT 可以分解为两个N/2点的DFT ,每个N/2点的DFT ⼜可以分解为两个N/4点的DFT 。
依此类推,当N 为2的整数次幂时(2MN =),由于每分解⼀次降低⼀阶幂次,所以通过M 次的分解,最后全部成为⼀系列2点DFT 运算。
实验一 常见离散信号的MATLAB 产生和图形显示一、 实验目的加深对常见离散信号的理解二、实验内容及步骤编制程序产生以下信号,并绘出其图形。
1)产生64点的单位抽样序列)(n δN=64x=[1,zeros(1,N-1)]stem(x)2)产生64点并移位20位的单位抽样序列)20(-n δN=64x=[0,zeros(1,N-1)]x(20)=1stem(x)3)任意序列)5(7.0)4(9.2)3(6.5)2(8.1)1(4.3)(0.8)(-+-+-+-+-+=n n n n n n n f δδδδδδ4)产生幅度A=3,频率f=100,初始相位ϕ=1.2,点数为32 点的正弦序列。
n=0:31;x=3*exp(j*314*n)figure(1)stem(n,x)5)产生幅度A=3,角频率ω=314,点数为32 点的复正弦序列。
n=0:31A=3;w=314;x=A*exp(w*j*n)stem(x)6)产生幅度A=3,a=0.7,点数为32 点的实指数序列。
n=0:31;A=3;a=0.7;x=A*a.^nstem(x)实验二 离散系统的时域分析一、 实验目的(1)熟悉并掌握离散系统的差分方程表示方法(2)加深对冲激响应和卷积方法的理解二、 实验内容与要求编制程序求解下列两个系统的单位冲激响应和阶跃响应,并绘出其图形。
要求分别用 filter 、conv 、impz 三种函数完成。
y [n ]+ 0.75y [n −1]+ 0.125y [n − 2] = x [n ]− x [n −1]y [n ] = 0.25{x [n −1]+ x [n − 2]+ x [n −3]+ x [n − 4]}给出理论计算结果和程序计算结果并讨论。
三、实验原理系统响应为如下的卷积计算公式:][][][*][][m n h m x n h n x n y m -==∑∞-∞=h[n]是有限长度的(n:0,M),称系统为FIR系统;反之,称系统为IIR系统。
实验一离散信号的MATLAB实现一、目的要求1)学习典型的离散时间信号的MATLAB实现方法;2)学习离散时间序列的基本运算:相加、相乘、移位等;3)学习噪声的产生;4)掌握两个序列的卷积和相关运算5)掌握离散系统单位脉冲响应的求解。
二、实验内容1)典型的离散信号的表示方法:用matlab产生单位抽样信号δ(n) 、单位阶跃序列u(n) 、矩形序列R N(n) 、实指数序列a n u(n)、正弦序列sin(ωn)。
编写程序、并画出图形。
n=-20:20;n0=0;n1=10;w0=pi/4;x=[(n-n0)==0];x1=[(n-n0)>=0];x2=[(n-n0)>=0& (n-n1)<=0];x3=0.9.^n.*x1;x4=sin(w0*n);subplot(511);stem(n,x);axis([ -20 20 0 2]);ylabel('\sigma(n)'); subplot(512);stem(n,x1);axis([ -20 20 0 2]);ylabel('u(n)');subplot(513);stem(n,x2);axis([ -20 20 0 2]);ylabel('B N(n)');subplot(514);stem(n,x3);axis([ -20 20 0 2]);ylabel('a n u(n)');subplot(515);stem(n,x4);axis([ -20 20 -2 2]);ylabel('sin(w0n)');xlabel('n');2)离散信号的基本运算:对序列x(n)={2,3,4,1,2,5} ,n=0,1,2,3,4,5,的移位、乘法、加法、翻转及尺度变换。
编写程序、并画出图形。
n=-10:10;k=2;N=length(n);x=zeros(size(n));x1=zeros(size(n));y=zeros(size(n));y1=zeros(size(n));y2=zeros(size(n));y3=zeros(size(n));y4=zeros(size(n));x(11:16)=[2 3 4 1 2 5];x1(11:16)=[1 2 3 4 5 6];y(1+k:N)=x(1:N-k);y1(1:N-k)=x(1+k:N);y2=x.*x1;y3=x+x1;y4=fliplr(x);y5=x(1:2:N);n1=fix(n(1:2:N)/2);subplot(421);stem(n,x);xlabel('n');ylabel('x(n)');subplot(422);stem(n,x1);xlabel('n');ylabel('x1(n)');subplot(423);stem(n,y);xlabel('n');ylabel('x(n-2)');subplot(424);stem(n,y1);xlabel('n');ylabel('x(n+2)');subplot(425);stem(n,y2);xlabel('n');ylabel('x(n)*x1(n)');subplot(426);stem(n,y3);xlabel('n');ylabel('x(n)+x1(n)');subplot(427);stem(n,y4);xlabel('n');ylabel('x(-n)');subplot(428);stem(n1,y5);xlabel('n');ylabel('x(2n)');3)噪声的产生:产生方差为1,2,0.5的白噪声。
实验一 常见离散信号的MATLAB 产生和图形显示实验目的:加深对常用离散信号的理解; 实验原理:1.单位抽样序列⎩⎨⎧=01)(n δ≠=n n 在MATLAB 中可以利用zeros()函数实现。
;1)1();,1(==x N zeros x如果)(n δ在时间轴上延迟了k 个单位,得到)(k n -δ即:⎩⎨⎧=-01)(k n δ≠=n kn2.单位阶跃序列⎩⎨⎧01)(n u00<≥n n 在MATLAB 中可以利用ones()函数实现。
);,1(N ones x =3.正弦序列)/2sin()(ϕπ+=Fs fn A n x在MATLAB 中)/***2sin(*1:0fai Fs n f pi A x N n +=-=4.复正弦序列n j e n x ϖ=)(在MATLAB 中)**ex p(1:0n w j x N n =-=5.指数序列n a n x =)(在MATLAB 中na x N n .^1:0=-=实验内容:编制程序产生上述5种信号(长度可输入确定),并绘出其图形。
实验要求:讨论复指数序列的性质。
实验过程: 1. 单位冲击序列:>> n=0:10;>> x1=[1 zeros(1,10)];>> x2=[zeros(1,8) 1 zeros(1,8)]; >> subplot(1,2,1); >> stem(n,x1);>> xlabel ('时间序列n'); >> ylabel('幅度');>> title('单位冲激序列δ(n )'); >> subplot(1,2,2); >> stem(x2);>> xlabel('时间序列n'); >> ylabel('幅度');>> title('延时了8个单位的冲激序列δ(n-8)'); >>>> n=0:10;>> u=[ones(1,11)];>> stem(n,u);>> xlabel ('时间序列n');>> ylabel('信号幅度');>> title('单位阶跃序列u(n)');>>3.正弦序列:>> n=1:30;>> x=2*sin(pi*n/6+pi/4);>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('正弦函数序列x=2*sin(pi*n/6+pi/4)'); >>>> n=1:30;>> x=5*exp(j*3*n);>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('复指数序列x=5*exp(j*3*n)');>>5.指数序列:>> n=1:30;>> x=1.8.^n;>> stem(n,x);>> xlabel ('时间序列n');>> ylabel('振幅');>> title('指数序列x=1.8.^n');>>复指数序列的周期性讨论:为了研究复指数序列的周期性质,我们分别作了正弦函数x1=1.5sin(0.3πn)和x2=sin(0.6n); 的幅度特性图像。
实验一 常见离散信号的MATLAB 产生和图形显示
一 实验目的
加深对常用离散信号的理解
二 实验原理及实验内容
1.单位抽样序列
⎩⎨⎧=0
1)(n δ
≠=n n
MATLAB 程序:
%单位抽样序列
t=-20:20; %产生一个-20到20的矩阵 x=zeros(1,41); %产生一个全为1的矩阵 x(21)=1; %x 的第21个元素为1 stem(t,x); %绘制x 的序列图 grid on; %画网格线 title('单位抽样序列') %加标题 绘图:
2.单位阶越序列
⎩⎨⎧0
1
)(n u
00<≥n n
MATLAB 程序: %单位阶越序列
x=[zeros(1,20),ones(1,21)]; %产生一个前20个元素为0,后21个元素为1的数组 stem(t,x); %绘制x 的序列图 grid on; %画网格线 title('单位阶越序列') %加标题 绘图:
3.正弦序列
)/2sin()(ϕπ+=Fs fn A n x
MATLAB 程序: %正弦序列
n=0:100; %产生一个0到100的矩阵 fai=pi/4; %相位赋值 A=2; %振幅赋值 f=1/50; %频率赋值
Fs=1; %采样频率赋值 x=A*sin(2*pi*f*n/Fs+fai) ; %生成正弦序列x stem(n,x); %绘制x 的序列图 axis([0 50 -3 3]); %限定坐标轴范围 title('正弦序列'); %加标题
绘图:
4.复正弦序列
j
n
)
(
=
n
e
xϖ
MATLAB程序:
%复正弦序列
n=0:20;%产生一个0到20的矩阵x=exp(j*pi/20*n);%生成复正弦序列subplot(1,2,1),stem(n,real(x));%绘制x的实数部分
title('复正弦序列实部');%加标题
grid on; %画网格线
subplot(1,2,2),stem(n,imag(x),'filled');%绘制x的虚部部分
title('复正弦序列虚部');%加标题
grid on%画网格线
5.指数序列
n
)
x=
(
n
a
MATLAB程序:
%指数序列
n=0:10;%产生一个0到10的矩阵
x=(0.6).^n;%生成一个底数为0.6的指数序列stem(n,x);%绘制x的序列图
grid on%画网格线
三.思考题
1讨论复指数序列的性质
(1)正交性,复指数序列用欧拉公式展开可得:
e^jωn=cosωn+jsinωn
其可表示一个余弦信号与一个正弦信号的叠加,这两个信号呈正交关系。
(2)周期性质,由序列图可知,复指数序列为周期序列,其实部,虚部信号各自组成的序列也为周期序列.
2正弦序列中f/Fs的取值与波形
令int等于f/Fs的整数部分,令float等于f/Fs的小数部分,则
f/Fs= int +float, 则正弦序列x(n)=Asin(2πfn/Fs +fai)
= Asin[2πn(int + float) +fai]
= Asin[2πn*int +2πn* float) +fai]
由于n*int为整数,所以可化简为x(n)=Asin(2πn* float +fai)
所以复正弦序列的序列图形取决于f/Fs的小数部分,所以当f/Fs为整数时,x=Asin(fai)为定值,所以此时得到的序列为恒等序列.。