北邮《数字信号处理》Matlab实验——周期序列的谱分析
实验三-周期信号的频谱分析-实验报告
信号与系统实验报告实验三周期信号的频谱分析学院专业班级学号指导教师实验报告评分:_______实验三 周期信号的频谱分析一、实验目的1、掌握连续时间周期信号的傅里叶级数的物理意义和分析方法;2、观察截短傅里叶级数而产生的“Gibbs 现象”,了解其特点以及产生的原因;3、掌握各种典型的连续时间非周期信号的频谱特征。
二、实验容实验前,必须首先阅读本实验原理,读懂所给出的全部例程序。
实验开始时,先在计算机上运行这些例程序,观察所得到的信号的波形图。
并结合例程序应该完成的工作,进一步分析程序中各个语句的作用,从而真正理解这些程序。
实验前,一定要针对下面的实验项目做好相应的实验准备工作,包括事先编写好相应的实验程序等事项。
Q3-1 编写程序Q3_1,绘制下面的信号的波形图:-+-=)5cos(51)3cos(31)cos()(000t t t t x ωωω∑∞==10)cos()2sin(1n t n n nωπ其中,ω0 = 0.5π,要求将一个图形窗口分割成四个子图,分别绘制cos(ω0t)、cos(3ω0t)、cos(5ω0t) 和x(t) 的波形图,给图形加title ,网格线和x 坐标标签,并且程序能够接受从键盘输入的和式中的项数。
抄写程序Q3_1如下: clear,%Clear all variablesclose all,%Close all figure windowsdt = 0.00001; %Specify the step of time variable t = -2:dt:4; %Specify the interval of time w0=0.5*pi; x1=cos(w0.*t); x2=cos(3*w0.*t); x3=cos(5*w0.*t);N=input('Type in the number of the harmonic components N='); x=0; for q=1:N;x=x+(sin(q*(pi/2)).*cos(q*w0*t))/q; endsubplot(221)plot(t,x1)%Plot x1axis([-2 4 -2 2]);grid on,title('signal cos(w0.*t)')subplot(222)plot(t,x2)%Plot x2axis([-2 4 -2 2]);grid on,title('signal cos(3*w0.*t))')subplot(223)plot(t,x3)%Plot x3axis([-2 4 -2 2])grid on,title('signal cos(5*w0.*t))')执行程序Q3_1所得到的图形如下:Q3-2给程序Program3_1增加适当的语句,并以Q3_2存盘,使之能够计算例题1中的周期方波信号的傅里叶级数的系数,并绘制出信号的幅度谱和相位谱的谱线图。
北京邮电大学_dsp_matlab实验报告
数字信号处理实验报告实验名称:数字信号处理实验学生姓名:班级:班内序号:1.实验要求假设信号x(n) 由下述信号组成:请选择合适的长度N 和窗函数,用DFT 分析其频谱,得到清楚的三根谱线。
2.实验代码和实验结果N = 1000; % Length of DFTn = [0:1:N-1];xn = 0.001*cos(0.45*n*pi)+sin(0.3*n*pi)-cos(0.302*n*pi-pi/4);Xk = fft(xn,N);k=[0:1:N-1];subplot(5,1,1);stem(k,abs(Xk(1:1:N)));title('DFT x(n)');xlabel('k');axis([140,240,0,6])subplot(5,1,2);stem(k, abs(Xk(1:1:N)),'r');%画出sin(0.3npi)-cos(0.302npi-pi/4) axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,3);stem(k, 1000*abs(Xk(1:1:N)),'g');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');subplot(5,1,4);stem(k,0.01*abs(Xk(1:1:N)),'k');%画%sin(0.3npi)-cos(0.302npi-pi/4)axis([140,160,0,6]);title('sin(0.3*pi*n)-cos(0.302*pi*n) ');xlabel('k');subplot(5,1,5);stem(k, 10*abs(Xk(1:1:N)),'m');%画出0.001*cos(0.45npi)axis([220,230,0,6]);title('cos(0.45*pi*n) ');xlabel('k');结论:由上图及过程可知,当DFT变换长度为1000时所得到的谱线非常理想。
MATLAB周期信号的频谱分析
SAWTOOTH(T,WIDTH) generates a modified triangle wave where WIDTH, a scalar parameter between 0 and 1…
MATLAB在信号与系统课程中的应用
EE of BUPT
1
t=-10:0.01:10;
0.8 0.6
2
n1
c0 cncosn1t cosn sinn1t sinn
n1
a0 : 直流,平均值
n 1 基波 (fundament al signal)
有的文献上也称为1 次谐波
n
n次谐波 (harmonic signal)
MATLAB在信号与系统课程中的应用
n1t
cos
m1t
dt
T
,
2
0,
mn mn
T 2 T 2
sin
n1t
sin
m1t
dt
T , 2 0,
mn mn
MATLAB在信号与系统课程中的应用
EE of BUPT
级数形式
周期信号 f t ,周期为T1 , 基波角频率为1
f (t)cos
n1t
dt
2
bn T1
t0 T1 t0
f (t)sin
n1t
dt
MATLAB在信号与系统课程中的应用
EE of BUPT
余弦形式
f (t ) a0 an cos n1t bn sin n1t 1 n1
f (t ) c0 cn cos n1t n
matlab 信号 频谱分析实验报告
MATLAB 信号频谱分析实验报告实验目的本实验旨在使用MATLAB软件进行信号频谱分析,包括对信号的时域分析和频域分析,以及频谱图的绘制和解读。
实验步骤1. 准备工作在开始实验之前,首先需要安装MATLAB软件,并启动软件。
2. 信号生成在MATLAB的命令窗口中,通过使用信号发生器生成一个信号。
可以选择使用正弦波、方波、三角波等不同类型的信号进行频谱分析。
3. 信号时域分析使用MATLAB的时域分析函数,如plot函数,绘制生成的信号的时域波形图。
plot(t, x);title('信号的时域波形图');xlabel('时间');ylabel('幅值');其中,t表示时间轴上的时间点,x表示生成的信号。
4. 信号频域分析使用MATLAB的频域分析函数,如fft函数,将时域信号转换为频域信号。
X = fft(x);可以通过计算得到信号的频率分量f和幅度谱A。
L = length(x);f = Fs*(0:(L/2))/L;A = abs(X/L);A = A(1:L/2+1);其中,Fs表示信号的采样率。
5. 绘制频谱图使用MATLAB的绘图函数,如plot函数,将频域信号的频谱绘制成图表。
plot(f, A);title('信号的频谱图');xlabel('频率');ylabel('幅值');6. 频谱图解读通过观察频谱图,可以分析信号在不同频率上的能量分布情况。
高幅度的频率分量表示信号在该频率上具有较大的能量,低幅度的频率分量表示信号在该频率上具有较小的能量。
7. 实验总结通过本次实验,我们学习了如何使用MATLAB进行信号的时域分析和频域分析。
时域分析可以帮助我们观察信号在时域上的变化情况,频域分析可以帮助我们了解信号在不同频率上的能量分布情况。
通过绘制频谱图,我们可以直观地观察信号的频谱特征,并进行进一步的信号分析和处理。
数字信号处理MATLAB实验报告
[H,w]=freqz(B,A,N)
其中,B与A分别表示 的分子和分母多项式的系数向量;N为正整数,默认值为512;返回值w包含 范围内的N个频率等分点;返回值H则是离散时间系统频率响应 在 范围内N个频率处的值。另一种形式为
[H,w]=freqz(B,A,N,’whole’)
与第一种方式不同之处在于角频率的范围由 扩展到 。
上机练习:
试用MATLAB的residuez函数,求出 的部分分式展开和。
b=[2 16 44 56 32];
a=[3 3 -15 18 -12];
[R,P,K]=residuez(b,a)
R =
+
zplane(B,A)
其中,B与A分别表示 的分子和分母多项式的系数向量。它的作用是在Z平面上画出单位圆、零点与极点。
与拉氏变换在连续系统中的作用类似,在离散系统中,z变换建立了时域函数 与z域函数 之间的对应关系。因此,z变换的函数 从形式可以反映 的部分内在性质。我们仍旧通过讨论 的一阶极点情况,来说明系统函数的零极点分布与系统时域特性的关系。
[R,P,K]=residuez(B,A)
其中,B,A分别表示X(z)的分子与分母多项式的系数向量;R为部分分式的系数向量;P为极点向量;K为多项式的系数。若X(z)为有理真分式,则K为零。
离散时间系统的系统函数定义为系统零状态响应的z变换与激励的z变换之比,即
(4-4)
如果系统函数 的有理函数表示式为
x=iztrans(z)
上式中的x和Z分别为时域表达式和z域表达式的符号表示,可通过sym函数来定义。
如果信号的z域表示式 是有理函数,进行z反变换的另一个方法是对 进行部分分式展开,然后求各简单分式的z反变换。设 的有理分式表示为
MATLAB周期信号的频谱分析
11
EE of BUPT
12
figure(1); plot(t,y); grid; line([0,pi+0.5],[1,1]); text(pi+0.5,1,'1'); figure(2); halft=ceil(length(t)/2); mesh(t(1:halft),[1:(K+1)/2],y(:,1:halft)); max_y=max(y((K+1)/2,:)); gibbs=(max_y-1)/2
直流分量 余弦分量的幅度 正弦分量的幅度
a0
1 T1
t0 T1 f (t ) d t
t0
2
an T1
t0 T1 t0
f (t)cos
n1t
dt
2
bn T1
t0 T1 tTLAB在信号与系统课程中的应用
EE of BUPT
余弦形式
5
f (t ) a0 an cos n1t bn sin n1t 1 n1
f (t ) c0 cn cos n1t n
2
n1
c0 cn cosn1t cos n sinn1t sin n
n1
a0 : 直流,平均值
n 1 基波 (fundament al signal)
有的文献上也称为1 次谐波
n
n次谐波 (harmonic signal)
MATLAB在信号与系统课程中的应用
MATLAB在信号与系统课程中的应用
EE of BUPT
8
help pause
MATLAB周期信号的频谱分析解读
0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8
y=sawtooth((t-1) *pi) (see also)
1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -0.6 -0.8 -1 -10
-1 -10
-8
-6
-4
-2
0
2
4
6
8
10
-8
-6
-4
-2
0
2
4
6
8
10
MATLAB在信号与系统课程中的应用
EE of BUPT
7.2 三角函数形式的傅里叶级数
1.三角函数集
cosn 1t , sinn 1t 是一个完备的正交函数集
由积分可知
t在一个周期内,n=0,1,...
cos n1 t sin m1 dt 0 T T , 2 T2 cos n1t cos m1t dt 2 0, T T , 2 T2 sin n1t sin m1t dt 2 0,
PAUSE causes a procedure to stop and wait for the user to strike any key before continuing.
MATLAB在信号与系统课程中的应用
EE of BUPT
结果显示
1.5
1
0.5
0
-0.5
-1
-1.5
0
1
2
3
4
5
6
7
line([1,2,3],[4,5,7]) text(2.1,4.8,'here')
7 6
matlab信号频谱分析实验报告
matlab信号频谱分析实验报告《MATLAB信号频谱分析实验报告》摘要:本实验利用MATLAB软件对不同信号进行频谱分析,通过对信号的频谱特征进行分析和比较,探讨了不同信号的频谱特性及其应用。
实验结果表明,MATLAB信号频谱分析工具能够有效地帮助我们理解信号的频谱特性,为信号处理和通信系统设计提供了重要的参考依据。
引言:信号频谱分析是信号处理和通信领域中的重要内容之一,通过对信号的频谱特性进行分析,可以帮助我们了解信号的频率分布、能量分布和相位特性,为信号处理和通信系统设计提供重要的参考依据。
MATLAB作为一种强大的信号处理工具,提供了丰富的频谱分析函数和工具,能够帮助我们快速准确地分析信号的频谱特性。
实验目的:1. 掌握MATLAB中常用的信号频谱分析函数和工具;2. 对不同类型的信号进行频谱分析,比较它们的频谱特性;3. 探讨不同信号的频谱特性及其应用。
实验内容:1. 使用MATLAB中的fft函数对不同类型的信号进行频谱分析;2. 对比分析不同信号的频谱特性,包括频率分布、能量分布和相位特性;3. 分析不同信号的频谱特性对信号处理和通信系统设计的影响。
实验步骤:1. 生成不同类型的信号,包括正弦信号、方波信号和三角波信号;2. 使用MATLAB中的fft函数对生成的信号进行频谱分析;3. 分析不同信号的频谱特性,包括频率分布、能量分布和相位特性;4. 对比分析不同信号的频谱特性,探讨其应用和影响。
实验结果:1. 正弦信号的频谱特性:频率集中在一个点上,能量分布均匀,相位特性明显;2. 方波信号的频谱特性:频率分布为奇次谐波,能量分布不均匀,相位特性复杂;3. 三角波信号的频谱特性:频率分布为奇次谐波,能量分布均匀,相位特性简单。
实验结论:1. 正弦信号的频谱特性与其频率、幅值和相位有关,能够直观地反映信号的频率和相位特性;2. 方波信号的频谱特性包含丰富的谐波成分,能够用于频率多重复用通信系统的设计;3. 三角波信号的频谱特性简单明了,适合于频率调制和解调系统的设计。
北邮数字信号处理MATLAB实验报告
数字信号处理软件实验——MatLab仿真实验报告学院:电子工程学院班级:2013211202姓名:学号:实验一:数字信号的 FFT 分析1、实验内容及要求(1) 离散信号的频谱分析:设信号 此信号的0.3pi 和 0.302pi 两根谱线相距很近,谱线 0.45pi 的幅度很小,请选择合适的序列长度 N 和窗函数,用 DFT 分析其频谱,要求得到清楚的三根谱线。
(2) DTMF 信号频谱分析用计算机声卡采用一段通信系统中电话双音多频(DTMF )拨号数字 0~9的数据,采用快速傅立叶变换(FFT )分析这10个号码DTMF 拨号时的频谱。
2、实验目的通过本次实验,应该掌握:(a) 用傅立叶变换进行信号分析时基本参数的选择。
(b) 经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT ) 后信号频谱上的区别,前者 DTFT 时间域是离散信号,频率域还是连续的,而 DFT 在两个域中都是离散的。
(c) 离散傅立叶变换的基本原理、特性,以及经典的快速算法(基2时间抽选法),体会快速算法的效率。
(d) 获得一个高密度频谱和高分辨率频谱的概念和方法,建立频率分辨率和时间分辨率的概念,为将来进一步进行时频分析(例如小波)的学习和研究打下基础。
(e) 建立 DFT 从整体上可看成是由窄带相邻滤波器组成的滤波器组的概念,此概念的一个典型应用是数字音频压缩中的分析滤波器,例如 DVD AC3 和MPEG Audio 。
3.设计思路及实验步骤1)离散信号的频谱分析:该信号中要求能够清楚的观察到三根谱线。
由于频率0.3pi 和0.302pi 间隔非常小,要清楚的显示,必须采取足够大小的N ,使得分辨率足够好,至少到0.001单位级,而频率0.45pi 的幅度很小,要清楚的观察到它的谱线,必须采取幅度够大的窗函数,使得它的频谱幅度变大一些。
同时还要注意频谱泄漏的问题,三个正弦函数的周期(2pi/w )分别为20,40,1000,所以为了避免产生频谱泄漏(k=w/w0为整数),采样点数N 必须为1000的整数倍。
十六章 Matlab进行周期信号频谱分析
源程序pinpu.m演示说明
三、典型周期信号频谱图
1 周期方波脉冲频谱 如ex0804.m所示 2 周期锯齿波脉冲频谱 如ex0805.m所示
源程序CTFS.m演示说明
二、matlab绘制连续 周期信号的频谱图
我们仍以周期矩形脉冲信号为例,说 明用matlab绘制频谱图的过程。
实现思路:
先求出三角形式的傅立叶级数的系数 an ,b 再通过公式
n
1 Fn ( an jbn ) 2
求出指数形式的谱系数,从而得到幅度频 谱图。
注意问题:
2 2
T1
t
程序构成
1)编写子函数表示出原点处一个周期内 的矩形脉冲函数的符号表达式。 2)编写子函数绘制出原点处一个周期内 的矩形脉冲函数波形,以便于和分解后 的傅立叶级数对照。 3)编写求解傅立叶级数各个系数值及绘制 谐波叠加图形的主函数。
相关算法提示
1)采用符号积分int()求一个周期内相 关定积分,从而求得三角形式的傅立叶 级数的各系数的符号表达式。 2)用循环语句for…end求解各次谐波的幅 值的数值解。 3)将各次谐波相加即为周期信号f(t)截断 形式的傅立叶级数表示。
十六章 周期信号频谱 分析—CTFS的Matlab 实现
一、连续周期信号的 傅立叶级数的matlab 实现
1Байду номын сангаас背景知识介绍:
连续时间信号的傅立叶级数--CTFS
2 用matlab实现周期信号傅立叶 级数的分解和综合
我们以周期矩形脉冲信号为例来进行说明编 程过程。
f (t ) E
T1
O
因为指数形式是双边频谱,而三角形式 是单边频谱,所以根据二者关系要进行 相应的反折变换将单边形式扩展为双边 形式。 例题:已知一个序列a=[5,4,3,2,1],采样位 置:0,1,2,3,4现在求将其反折再 叠加原序列得到的位于-4,-3,-2, -1, 0,1,2,3,4的新序列。 Ex0803.m所示。
第7章周期信号频域分析及MATLAB实现-文档资料
7.2.3 双边频谱
周期信号可以分解成一系列虚指数信号之和,并可以求得 相应的傅里叶系数
f( t) ቤተ መጻሕፍቲ ባይዱFe n
n
jn t
a a a t t 0 n jb n jn n jb n jn e e 2 n 2 2 1 1 j 1 F e a j b n A n n n
a 0 A 0 .2 5 0 F 0 2
A5 ≈ 0.09, A10 ≈ 0.063
A4 ≈ 0, A9 ≈ 0.05,
F 0 . 2 2 5 , F 0 . 1 5 9 , F 0 . 0 7 5 , F 0 1 2 3 4 F 0 . 0 4 5 , F 0 . 0 5 3 5 6
6
7.1 周期信号的傅里叶级数与信号的频谱
西华师范大学 物理与电子信息学院
2. 连续时间周期信号的傅里叶级数近似
用有限项的傅里叶级数求和来逼近原函数
f(t)的截断傅里叶级数表示
3. 符号积分函数int()求截断傅里叶级数及傅里叶表示 intf=int(f,v,a,b) 给出符号表达式 f 对指定变量v的定积分。
2 T
7-1a
2
7.1 周期信号的傅里叶级数与信号的频谱
西华师范大学 物理与电子信息学院
傅里叶系数:
2 2 a f() td t f() td t 0 0 T T 1
T 1
T 1 2 T 1 1 2
2 T 1 a f ()c t o sn td t n 0 T 1
N 1
3. Matlab命令
DTFS:
a
1 fft ( x ) N
(7.16) (7.17)
matlab 信号频谱分析实验报告
matlab 信号频谱分析实验报告《Matlab 信号频谱分析实验报告》摘要:本实验利用Matlab软件对信号进行频谱分析,通过对信号的频谱特性进行研究,探讨了信号频谱分析的基本原理和方法。
实验结果表明,Matlab软件可以有效地对信号进行频谱分析,并能够准确地显示信号的频谱特性,为信号处理和分析提供了有力的工具。
1. 引言信号频谱分析是信号处理领域中的重要内容之一,它可以帮助人们了解信号的频率成分和频谱特性,对信号的特征进行深入分析。
Matlab作为一种强大的科学计算软件,能够提供丰富的信号处理工具和函数,可以方便地进行信号频谱分析。
本实验旨在利用Matlab软件对信号进行频谱分析,探讨信号频谱分析的基本原理和方法,并通过实验验证Matlab软件在信号频谱分析中的有效性和可靠性。
2. 实验原理信号的频谱分析是指将信号在频域上进行分析,得到信号的频率成分和频谱特性。
信号的频谱分析可以通过傅里叶变换来实现,傅里叶变换能够将信号从时域转换到频域,得到信号的频谱信息。
在Matlab中,可以利用fft函数来进行信号的傅里叶变换,得到信号的频谱信息,并通过plot函数将频谱信息可视化显示出来。
3. 实验过程(1)生成信号:首先在Matlab中生成一个测试信号,可以是正弦信号、方波信号或其他类型的信号。
(2)进行频谱分析:利用fft函数对生成的信号进行傅里叶变换,得到信号的频谱信息。
(3)频谱可视化:利用plot函数将信号的频谱信息可视化显示出来,观察信号的频谱特性。
4. 实验结果通过对不同类型的信号进行频谱分析实验,得到了它们在频域上的频谱特性。
通过对频谱的观察和分析,可以清晰地看到信号的频率成分和频谱分布情况,从而了解信号的频谱特性。
5. 结论本实验利用Matlab软件对信号进行频谱分析,通过对信号的频谱特性进行研究,探讨了信号频谱分析的基本原理和方法。
实验结果表明,Matlab软件可以有效地对信号进行频谱分析,并能够准确地显示信号的频谱特性,为信号处理和分析提供了有力的工具。
数字信号处理实验报告MATLAB
实验2 离散时间信号的频谱分析1、实验内容一、编写子函数计算长度为N 的序列x(n) ( 0≤n ≤ N-1)的离散时间傅里叶变换,将频率均匀离散化, 一个周期内有M 个点。
要求画出虚部、实部、幅度、相位,并标注坐标轴。
二、对矩形序列x(n)=RN(n)1. 用公式表示x(n)的频谱,求出其幅度谱和相位谱;2. 利用编写的子函数,计算并画出x(n)的频谱1)固定M ,改变N ,观察N 的取值对频谱的最大值、过零点、第一旁瓣幅度与最大值的比值以及相位谱的影响;2)固定N ,改变M ,观察M 的取值对幅度谱和相位谱的影响。
如: M=4,26,100N=4,26,100三、利用子函数,画出信号x(n)=sin(pi*n/5)和 x(n)=cos(pi*n/4)+cos(pi*n/8) ( 0≤n ≤ N -1)的幅度谱和相位谱。
N 分别取为8,16,20,64,75,128,M=256。
观察N 取不同值时信号频谱的相同和不同之处,为什么会有这样的结果。
2、编程原理、思路和公式(1)、给定长度为N 的序列x(n)的离散时间傅里叶变换(DTFT )的公式为 10()()N jwjwn n X e x n e --==∙∑ 1()()2j w j w n x n X e e d w πππ-=⎰。
可以看出x(n)的DTFT 仍然是一个连续函数,所以需要将数字角频域w 离散化,设一个频率周期内离散点有M 个,则第k 个点所代表的数字角频率2w k M π=。
这样x(n)的DTFT 变成:2210()()()N j k j nk jw M M n X e X e x n eππ--===∙∑ 01k M ≤≤-,(2)、因为0≤.n ≤.N-1, 01k M ≤≤- 设置两层for 循环,用sum 表示累加求和的值,即可实现2210()()()N j k j nk jw MM n X e X e x n eππ--===∙∑(3)对矩形序列x(n)=R4(n),首先固定M 不变,改变N 的取值。
实验1用MATLAB进行信号频谱分析
实验1用MATLAB进行信号频谱分析提供一个实验步骤,帮助您用MATLAB进行信号频谱分析。
以下是一个详细步骤,您可以按照提示进行操作。
1.准备信号数据选择一个信号数据,可以是一个音频文件或一个由数字数据表示的信号。
确保该文件位于MATLAB当前工作目录下,或者提供文件的完整路径。
2.导入信号数据在MATLAB命令窗口中键入以下命令,将信号数据导入到MATLAB中:`data = audioread('filename.wav');`或者,如果信号数据是数字数据矩阵,可以直接将其赋值给变量:`data = your_signal_data;`3.绘制时域波形图使用以下命令可以绘制信号的时域波形图:`plot(data);`这将绘制出信号的波形图。
可以使用音频播放器在MATLAB环境中播放信号,以便更好地了解信号特征:`sound(data, Fs);`这里的Fs是信号的采样率,通常以赫兹(Hz)为单位。
4.计算信号的频谱频谱可以通过对信号进行傅里叶变换来获得。
在MATLAB中,可以使用fft函数执行傅里叶变换。
使用以下命令来计算信号的频谱:`N = length(data); %获取信号数据的长度``Y = fft(data); %执行傅里叶变换``P = abs(Y/N); %计算信号的频谱(单侧幅度谱)`5.绘制频谱图使用以下命令可以绘制信号的频谱图:`f=(0:N-1)*(Fs/N);%计算频率轴``plot(f, P); %绘制频谱图``xlabel('频率(Hz)');``ylabel('幅度');`6.可选步骤:去除直流分量信号的频谱通常包含一个直流分量(频率为0Hz),可以通过以下步骤将其去除:`P(1)=0;%设置直流分量的幅度为0``plot(f, P); %绘制修正后的频谱图`到此为止,我们已经使用MATLAB完成了信号频谱分析的基本步骤。
北邮《数字信号处理》Matlab实验——周期序列的谱分析
所得 X4(k)是非周期整数倍点数的 DFT,不是清晰谱线。因为选取了 1.3 个周期,不是周 期的整数倍,选取的 x4(n)没有体现出 x(n)的周期特性,所以得到的谱线的形状特征必然与 X1(k)、X2(k)、X3(k)不同。
所得 X2(k)取值与 x(n)主值序列 DFT 结果相同。因为 DFT 是反映信号的频域特性,所以 同为一个周期,频域特性一定相同,无论起始位置如何,其 DFT 情况都相同。
6、令 x3(n)表示 x(n)的 2 个周期,绘制|DFT(x3(n)|,解释取值情况
figure(6); x3n = xn(1:2*N); stem(0:2*N-1, x3n); title('x(n)的 2 个周期'); ylabel('x3(n)'); xlabel('n'); figure(7); Xk = fft(x3n, 2*N); stem(0:2*N-1, abs(Xk)); title('|DFT(x3(n))|'); ylabel('X3(k)'); xlabel('k');
因为 x(n) cos(
北邮DSP数字信号处理Matlab实验一
北邮DSP数字信号处理Matlab实验⼀实验⼀:数字信号的产⽣和基本运算(1) 常⽤数字信号序列的产⽣:熟悉Matlab产⽣数字信号的基本命令,加深对数字信号概念的理解,并能够⽤Matlab 产⽣和绘制出⼀些常⽤离散信号序列。
请⽤Matlab画出下列序列的波形(-10a) δ(n)b) 单位阶跃序列2u(n-5)c) 矩形序列R(n)d) y(n)=2sin(0.3πn)+0.5cos2(0.6πn)(2)数字信号的基本运算:a)加、减、尺度(乘除)和移位是数字信号处理中最基本的算术运算,将上述基本序列进⾏这些基本运算,得到多个序列构成的组合序列。
b)请⽤您的计算机声卡采⽤⼀段您⾃⼰的声⾳x(n),长度为45喵,单声道。
取样频率44.1kHz,16bit/样值,然后与给定的⼀段背景⾳乐y(n)按下式叠加为⼀个声⾳信号z(n):z(n)=0.7x(n)+0.3y(n)(3)要求:a)在同⼀个figure中,画出采集声⾳x(n)、背景⾳乐y(n)和混⾳z(n)的时域波形;b)提交实验报告时,请把声⾳⽂件转换成mp3格式,图像转换为jpeg格式,以节省存储空间。
C)通过本次实验,掌握matlab中这些基本运算命令,对数字信号处理有⼀个基本概念,为后⾯的数字信号分析和滤波打下了基础。
(1):a)利⽤.m⽂件M⽂件代码:function[x,n]=delta(n0,n1,n2)if((n0error('false')endn=n1:n2;x=(n-n0)==0;图象为:b)利⽤.m⽂件M⽂件代码:function[x,n]=u(n0,n1,n2)if((n0endn=n1:n2;x=(n-n0)>=0;实现2u(n-5)的命令是:>> x=2*u(5,-10,10);>> n=-10:10;>> stem(n,x)图像为:c)利⽤.m⽂件M⽂件代码:function[x,n]=R(n0,n1,n2,n3)if((n0n3)||(n0>n1)||(n2>n3)) error('false')endn=n2:n3;x=(n>=n0)-(n>=n1);实现R(n)的命令是:>> x=R(-2,3,-10,10);>> n=-10:10;>> stem(n,x)图像为:d)命令如下:>> n=-10:0.1:10;>> y=2*sin(0.3*pi*n)+0.5*cos(2*(0.6*pi*n)); >> stem(n,y)图像为:(2)a)相加:δ(n)+2u(n-5) 命令如下:>> n=-10:10;>> y1=delta(0,-10,10); >> y2=2*u(5,-10,10); >> stem(n,y1+y2)图像为:乘法:2u(n-5)*R(n) 命令如下:>> n=-10:10;>> y1=u(0,-10,10); >> y2=R(-2,3,-10,10); >> stem(n,y1.*y2)图像为:移位:y(n)=2sin(0.3πn)+0.5cos2(0.6πn)右移两位命令如下:>> n=-10:0.1:10;>> y=2*sin(0.3*pi*(n-2))+0.5*cos(2*(0.6*pi*(n-2))); >> stem(n,y)图像为:b)⾳频处理:>> [record,fs,bits]=wavread('record.wav');>> [background,fs,bits]=wavread('background.wav');>> x=record((fs*0+1:fs*45),:);>> y=background((fs*0+1:fs*45),:);>> z=0.7*x+0.3*y;>> wavwrite(z,fs,bits,'music.wav');>> subplot(3,1,1),plot(x),title('record');>> subplot(3,1,2),plot(y),title('background');>> subplot(3,1,3),plot(z),title('music');//此时的录⾳是⽤audition录的,也可以⽤matlab⾃带的wavrecord函数来录⾳。
北邮数字信号处理Matlab仿真实验
《数字信号处理》Matlab 实验一.离散信号的 FFT 分析知识点:利用FFT 对信号频谱进行分析,用DFT 进行信号分析时基本参数的选择,以及信号经过离散时间傅立叶变换(DTFT )和有限长度离散傅立叶变换(DFT )后信号频谱上的区别。
实验教学内容:1.用Matlab 编程上机练习。
已知: N=25。
这里Q=0.9+j0.3。
可以推导出 ,首先根据这个式子计算X(k)的理论值,然后计算输入序列x(n)的32个值,再利用基2时间抽选的FFT 算法,计算x(n)的DFT X(k),与X(k)的理论值比较(要求计算结果最少6位有效数字)。
解:format long Q=0.9+0.3i;WN=exp(-2*pi*1i/32);Xk=(1-Q^32)./(1-Q*WN.^[0:24]); xn=Q.^[0:24]; Xkfft=fft(xn,32); for (k0=1:1:25)difference=Xk(k0)-Xkfft(k0); end;subplot(3,1,1);stem(abs(Xk(1:1:24)),'.');title('DFT x(n)');xlabel('k');axis([0,35,0,15]);subplot(3,1,2);stem(abs(Xkfft(1:1:32)),'g.');title('FFT x(n)');xlabel('k');axis([0,35,0,15]);subplot(3,1,3);stem(abs(difference(1:1:25)),'r.');title('Xk-Xkfft');xlabel('k');axis([0,35,0,15]);0n N-1()0 n 0, n Nn Q x n ⎧≤≤=⎨<≥⎩11,011)()()(kk1nk1-=--===∑∑-=-=N k QW Q QW W n x k X NNnN N n NN n ,2. 假设信号 x(n) 由下述信号组成:请选择合适的长度 N 和窗函数,用 DFT 分析其频谱,得到清楚的三根谱线。
matlab实验报告-数字信号的产生和频谱分析
实验一 数字信号的产生和频谱分析一. 实验目的1.掌握采样定理内容,熟悉连续信号经理想采样前后的频谱变化关系,加深时域采样定理的理解。
2.熟悉FFT 算法原理和FFT 子程序的应用。
3.学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便在实际中正确应用FFT 。
掌握利用FFT 进行信号谱分析的原理。
4.理解信号通过高斯白噪声信道的原理。
二. 实验要求1. 按照采样定理生成CW 信号和LFM 信号;2. 画出信号时域波形图和频谱图;3. 生成高斯分布的白噪声;4. 生成一定信噪比的带噪信号,并对其进行谱分析。
三. 基本原理所谓抽样。
就是对时间连续的信号隔一定的时间间隔T 抽取一个瞬时幅度值在一个频带限制在(0,t )内的时间连续信号f (t ),如果以fs 的抽样频率对它进行抽样,那么根据这些抽样值就能完全恢复原信号。
根据抽样定理只有当发生fs ≥2fm ,抽样后的信号才能包含原连续的全部信息。
对于一个连续信号)(t x a ∧进行理想采样的过程可用下式表示:)()()(t p t x t x a a =∧其中)(t x a ∧是对)(t x a 的理想采样,)(t p 为周期冲激脉冲,即∑∞-∞=-=m nT t t p )()(δ)(t x a ∧的傅里叶变换)(Ω∧j X a 为)]([1)(Ω-Ω=Ω∑∞-∞=∧m j XTj X m aa上式表明)(Ω∧j X a 为)(Ωj X a 的周期延拓,其延拓周期为采样角频率(T s /2π=Ω)。
只有满足采样定理时,才不会发生频率混叠失真。
将②代入①进行傅里叶变换可得ˆ()[()()]()()()j taa n j ta n j nTa n X j x t t nT edtx t t nT edtx nT eωδδ∞∞-Ω-∞=-∞∞∞-Ω-∞=-∞∞-Ω=-∞=-=-=∑⎰∑⎰∑式中的()a x nT 就是采样后得到的序列()x n ,即 ()()a x n x n T =x(n)的傅里叶变换为()()j j nn X ex n eωω∞=-∞=∑比较两式可得 ˆ()()|j a TX j X e ωωω=Ω=这说明两者之间只在频率度量上差一个常数因子T 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
所得 X3(k)是在 x(n)主值序列 DFT 结果的基础上插入取值为零的点,将点数提高至 10, 仍为清晰谱线。因为选取了 2 个周期,所以 DFT 点数是 X1(k)的 2 倍。因为取的周期的整数 倍,所以可以得到清晰谱线。
7、若 x4(n)=x(n)×RM(n),而 M 不是 x(n)周期的整数倍,绘制|DFT(x4(n)|,解释 取值情况
所得 X1(k)取值即为 x(n)的 5 点(一个周期内)DFT 结果,为清晰谱线。
5、令 x2(n)表示 x(n)的任一周期,绘制|DFT(x2(n)|,解释取值情况
figure(4); r = 4; x2n = xn(r:r+N-1); stem(0:N-1, x2n); title('x(n)的任一周期'); ylabel('x2(n)'); xlabel('n'); figure(5); Xk = fft(x2n, N); stem(0:N-1, abs(Xk)); title('|DFT(x2(n))|'); ylabel('X2(k)'); xlabel('k');
因为 x(n) cos(
4 2 5 ,所以周期 N=5. n) , 4 5 2 5
3、绘制 10 个周期内 x(n)的取值情况
T = 1/20; t = 0:T:5-T; N = 5; figure(1); xn = cos(16*pi*t); stem(0:10*N-1, xn(1:10*N)); title('10 个周期内 x(n)的取值情况'); ylabel('x(n)'); xlabel('n');
实验题目 2:周期序列的谱分析
实验目的:
利用 DFT 分析模拟信号 xa t cos 16 t 之频谱。
试验内容:
1、设定采样周期 T 并说明原因
根据奈奎斯特取样条件,fs>=2f=2*8=16Hz,所以取 fs=20Hz,T=1/f=0.05s。
2、若令 x(n)=cos(16πnT),确定该序列之周期 N 并说明原因
所得 X2(k)取值与 x(n)主值序列 DFT 结果相同。因为 DFT 是反映信号的频域特性,所以 同为一个周期,频域特性一定相同,无论起始位置如何,其 DFT 情况都相同。
6、令 x3(n)表示 x(n)的 2 个周期,绘制|DFT(x3(n)|,解释取值情况
figure(6); x3n = xn(1:2*N); stem(0:2*N-1, x3n); title('x(n)的 2 个周期'); ylabel('x3(n)'); xlabel('n'); figure(7); Xk = fft(x3n, 2*N); stem(0:2*N-1, abs(Xk)); title('|DFT(x3(n))|'); ylabel('X3(k)'); xlabel('k');
figure(8); M = 8; x4n = xn(1:M); stem(0:M-1, x4n); title('x(n)*R8(n)'); ylabel('x4(n)'); xlabel('n'); figure(9); Xk = fft(x4n, M); stem(0:M-1, abs(Xk)); title('|DFT(x4(n))|'); ylabel('X4(k)'); xlabel('k');
所得 X4(k)是非周期整数倍点数的 DFT,不是清晰谱线。因为选取了 1.3 个周期,不是周 期的整数倍,选取的 x4(n)没有体现出 x(n)的周期特性,所以得到的谱线的形状特征必然与 X1(k)、X2(k)、X3(k)不同。
4、令 x1(n)表示 x(n)的主值序列,绘制|DFT(x1(n)|,解释取值情况
figure(2); x1n = xn(1:N); stem(0:N-1, x1n); title('x(n)的主值序列'); ylabel('x1(n)'); xlabel('n'); figure(3); Xk = fft(x1n, N); stem(0:N-1, abs(Xk)); title('|DFT(x1(n))|'); ylabel('X1(k)'); xlabel('k');