搜档网
当前位置:搜档网 › matlab实验报告 离散信号的产生和频谱分析

matlab实验报告 离散信号的产生和频谱分析

matlab实验报告 离散信号的产生和频谱分析
matlab实验报告 离散信号的产生和频谱分析

实验报告

姓名:李鹏博实验名称:离散信号的产生和频谱分析

学号:2011300704课程名称:数字信号处理

班级:03041102实验室名称:航海西楼303

组号:1实验日期:2014.05.23

一、实验目的、要求

仿真掌握采样定理。

学会用FFT进行数字谱分析。

掌握FFT进行数字谱分析的计算机编程实现方法。

完成正弦信号、线性调频信号等模拟水声信号的数字谱分析

二、实验原理

采样定理、离散傅里叶变换、离散傅里叶反变换

三、实验环境

PC机,Windows XP,office 2003,Matlab2012a

五、实验过程、数据记录、分析及结论

实验过程

1.编程产生单频脉冲、矩形包络线性调频脉冲。

2.应用快速傅立叶变换(FFT)求这两种信号的频谱,分析离散谱位置、归一化频率、实际频率的关系。

3.对于步骤2的结果,应用快速傅立叶变换的逆变换(IFFT)求两种信号的时域波形,并与已给的单频脉冲、矩形包络线性调频脉冲和伪随机脉冲信号波形进行对照。

4.对于步骤2的结果,进行频谱移位调整。将FFT变换的结果Y(频谱数据)进行移位调整,使其符合频谱常观表示方法,调整后,频谱的直流成分(即频率为0处的值)移到

频谱的中间位置。分析离散谱位置、归一化频率、实际频率的关系。

数据记录

单频脉冲信号

矩形包络线性调频脉冲信号

单频脉冲(CWP )为)2exp()()(0t f j T

t

rect t s π=,矩形包络线性调频脉冲信号(LFM )

为)]2

1(2exp[)()(2

0Mt t f j T t rect t s +

=π,其中,kHz f 200=,ms T 50=,kHz B 10=,采样频率kHz f s 100=。M 是线性调频指数。瞬时频率Mt f +0是时间的线性函数,频率调制宽度为MT B =。

单频脉冲信号频谱

矩形包络线性调频脉冲信号频谱

从上图可以看出,其离散谱的位置在20KHz 处,且其归一化频率为2*f/fs=0.4,实际频率为20KHz 。

单频脉冲信号的频谱搬移矩形包络线性调频脉冲信号的频谱搬移如上图,离散谱的位置在20-25KHz之间,归一化频率为0.4-0.5,实际频率为20-25KHz。

单频脉冲信号的IFFT 矩形包络线性调频脉冲信号的IFFT 利用公式x=ifft(Y)对两种信号进行快速傅立叶逆变换,经过傅里叶变换在经过傅立叶逆变换后,恢复出了原来信号的波形。

左图是用MATLAB的 wavrecord指令录得一段声音,但是经过fft的时候出现问题了,如右图,暂时还没有解决。

六、讨论

1.实验过程中经常出现的情况是,经过fft之后的图像出不来,command指令窗提醒有错

误,一般出现的问题都是点数不对应导致的。经过更改后,问题解决。

2.录音程序段,出现问题,fft可以执行,但是结果不对,不知道问题在哪,录音指令段

如下:

Fs = 11025;

t2 = [0:5*Fs-1]/Fs;

y2 = wavrecord(5*Fs, Fs);

figure(10)

plot(t2,y2)

fy2 = fft(y2,5*Fs-1);

figure(11)

plot(Fs,fy2)

不知道问题在哪,请老师不吝赐教。

用MATLAB分析离散信号的频谱与信号的采样

实验六 用MATLAB 分析离散信号的频谱与信号的采样 一、 实验目的 1、了解离散时间信号频谱的分析方法; 2、了解相关函数的调用格式及作用; 3、掌握用MATLAB 分析信号的采样过程与原理。 二、涉及的MATLAB 函数 1、fft 函数:可用来计算离散周期信号频谱 X[m] = fft(x) x :是离散周期信号0~N -1 一个周期的序列值 X[m] 是离散周期信号的频谱 函数fft 还可用来计算离散非周期信号频谱、连续周期信号和连续非周期信号的频谱。 2、rectpuls 函数:表示矩形脉冲信号 y=rectpuls(t,width) 产生宽度为0.4,幅度为1,以零点对称的矩形波1P (t) 三、实验内容 1、用MATLAB 实现下图所示周期矩形序列的频谱 x[k]的频谱函数为:X[m]= ) ( sin )] 12([ sin N m M N m ππ+ k

%Program 6_1计算离散周期矩形序列的频谱 N=32; M=4; %定义周期矩形序列的参数x=[ones(1,M+1),zeros(1,N-2*M-1),ones(1,M)]; %产生周期矩形序列 X=fft(x); %计算DFS系数 m=0:N-1; stem(m,real(X)); %画出频谱X的实部 title('X[m]的实部');xlabel('m') figure; stem(m,imag(X)); %画出频谱X的虚部title('X[m]的虚部');xlabel('m'); xr=ifft(X); figure; stem(m,real(xr)); xlabel('k'); title('重建的x[k]'); 仿真的结果如下:

信号与系统matlab实验及答案

产生离散衰减正弦序列()π0.8sin 4n x n n ?? = ??? , 010n ≤≤,并画出其波形图。 n=0:10; x=sin(pi/4*n).*0.8.^n; stem(n,x);xlabel( 'n' );ylabel( 'x(n)' ); 用MATLAB 生成信号()0sinc at t -, a 和0t 都是实数,410t -<<,画波形图。观察并分析a 和0t 的变化对波形的影响。 t=linspace(-4,7); a=1;

t0=2; y=sinc(a*t-t0); plot(t,y); t=linspace(-4,7); a=2; t0=2; y=sinc(a*t-t0); plot(t,y);

t=linspace(-4,7); a=1; t0=2; y=sinc(a*t-t0); plot(t,y);

三组对比可得a 越大最大值越小,t0越大图像对称轴越往右移 某频率为f 的正弦波可表示为()()cos 2πa x t ft =,对其进行等间隔抽样,得到的离散样值序列可表示为()()a t nT x n x t ==,其中T 称为抽样间隔,代表相邻样值间的时间间隔,1 s f T = 表示抽样频率,即单位时间内抽取样值的个数。抽样频率取40 Hz s f =,信号频率f 分别取5Hz, 10Hz, 20Hz 和30Hz 。请在同一张图中同时画出连续信号()a x t t 和序列()x n nT 的波形图,并观察和对比分析样值序列的变化。可能用到的函数为plot, stem, hold on 。 fs = 40; t = 0 : 1/fs : 1 ; % ?μ?ê·?±e?a5Hz,10Hz,20Hz,30Hz f1=5; xa = cos(2*pi*f1*t) ; subplot(1, 2, 1) ;

对正弦信号的采样频谱分析.doc

H a r b i n I n s t i t u t e o f T e c h n o l o g y 课程设计 课程名称:课程设计2 设计题目:对正弦信号的抽样频谱分析院系:电子与信息工程学院 班级:0805203 设计者:褚天琦 学号:1080520314 指导教师:郑薇 设计时间:2011-10-15 哈尔滨工业大学

一、题目要求: 给定采样频率fs,两个正弦信号相加,两信号幅度不同、频率不同。要求给定正弦信号频率的选择与采样频率成整数关系和非整数关系两种情况,信号持续时间选择多种情况分别进行频谱分析。 二、题目原理与分析: 本题目要对正弦信号进行抽样,并使用fft对采样信号进行频谱分析。因此首先对连续正弦信号进行离散处理。实际操作中通过对连续信号间隔相同的抽样周期取值来达到离散化的目的。根据抽样定理,如果信号带宽小于奈奎斯特频率(即采样频率的二分之一),那么此时这些离散的采样点能够完全表示原信号。高于或处于奈奎斯特频率的频率分量会导致混叠现象。设抽样周期为TS(抽样角频率为ωS),则 可见抽样后的频谱是原信号频谱的周期性重复,当信号带宽小于奈奎斯特频率的二分之一时不会产生频谱混叠现象。 因此,我们对采样频率的选择采取fs>2fo,fs=2fo,fs<2fo三种情况进行分析。对信号采样后,使用fft函数对其进行频谱分析。为了使频谱图像更加清楚,更能准确反映实际情况并接近理想情况,我们采用512点fft。取512点fft不仅可以加快计算速度,而且可以使频谱图更加精确。若取的点数较少,则会造成频谱较大的失真。 三、实验程序: 本实验采用matlab编写程序,实验中取原信号为 ft=sin(2πfXt)+2sin(10πfXt),取频率f=1kHz,实验程序如下: f=1000;fs=20000;Um=1; N=512;T=1/fs; t=0:1/fs:0.01; ft=Um*sin(2*pi*f*t)+2*Um*sin(10*pi*f*t); subplot(3,1,1); plot(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft'); title('抽样信号的连续形式'); subplot(3,1,2); stem(t,ft);grid on; axis([0 0.01 1.1*min(ft) 1.1*max(ft)]); xlabel('t'),ylabel('ft');

离散信号的产生和频谱分析(matlab)-西工大

离散信号的产生和频谱分析 实验目的: 仿真掌握采样定理 学会用FFT 进行数字谱分析 掌握FFT 进行数字谱分析的计算机编程实现方法 培养学生综合分析、解决问题的能力、加深对课堂内容的理解 实验要求: 掌握采样定理和数字谱分析方法、编制FFT 程序;完成正弦信号、线性条调频信号等模拟水声信号的数字谱分析; 实验内容: 单频脉冲(CWP )为) 2ex p()( )(0t f j T t rect t s π=。式中,) ( T t rect 是矩形包络,T 是脉冲持续时间,0f 是中心频率。 矩形包络线性调频脉冲信号(LFM )为 )] 2 1 (2ex p[)( )(2 0Mt t f j T t rect 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.编程产生单频脉冲、矩形包络线性调频脉冲。 2.应用快速傅立叶变换(FFT )求这两种信号的频谱,分析离散谱位置、归一化频率、实际频率的关系。 调用函数Y=fft(x) or Y=fft(x,N) or Y=fft(x,N,dim)。 3.对于步骤2的结果,应用快速傅立叶变换的逆变换(IFFT )求两种信号的时域波形,并与已给的单频脉冲、矩形包络线性调频脉冲和伪随机脉冲信号波形进行对照。 调用函数x=ifft(Y) or x=ifft(Y,N) or x=ifft(Y ,N,dim)。 4.对于步骤2的结果,进行频谱移位调整。将FFT 变换的结果Y (频谱数据)进行移位调整,使其符合频谱常观表示方法,调整后,频谱的直流成分(即频率为0处的值)移到频谱的中间位置。分析离散谱位置、归一化频率、实际频率的关系。 移位调整调用函数Z=fftshift(Y)。频率间隔为Fs/N ,频率范围为Fs/N*[-N/2:N/2-1]。 实验结果:

用FFT对信号作频谱分析 实验报告

实验报告 实验三:用FFT 对信号作频谱分析 一、 实验目的与要求 学习用FFT 对连续信号和时域离散信号进行谱分析的方法,了解可能出现的分析误差及其原因,以便正确应用FFT 。 二、 实验原理 用FFT 对信号作频分析是学习数字信号处理的重要内容,经常需要进行分析的信号是模拟信号的时域离散信号。对信号进行谱分析的重要问题是频谱分辨率D 和分析误差。频谱分辨率直接和FFT 的变换区间N 有关,因为FFT 能够实现的频率分辨率是2π/N ,因此要求2π/N 小于等于D 。可以根据此式选择FFT 的变换区间N 。误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而信号(周期信号除外)是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 三、 实验步骤及内容(含结果分析) (1)对以下序列进行FFT 分析: x 1(n)=R 4(n) x 2(n)= x 3(n)= 选择FFT 的变换区间N 为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: n+1 0≤n ≤3 8-n 4≤n ≤7 0 其它n 4-n 0≤n ≤3 n-3 4≤n ≤7 0 其它 n

实验结果图形与理论分析相符。(2)对以下周期序列进行谱分析: x4(n)=cos[(π/4)*n]

x5(n)= cos[(π/4)*n]+ cos[(π/8)*n] 选择FFT的变换区间N为8和16两种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】: (3)对模拟周期信号进行频谱分析: x6(n)= cos(8πt)+ cos(16πt)+ cos(20πt) 选择采样频率Fs=64Hz,FFT的变换区间N为16、32、64三种情况进行频谱分析,分别打印出幅频特性曲线,并进行讨论、分析与比较。 【实验结果如下】:

信号与系统 MATLAB实验报告

《信号与系统》MATLAB实验报告 院系:专业: 年级:班号: :学号: 实验时间: 实验地点:

实验一 连续时间信号的表示及可视化 实验题目: )()(t t f δ=;)()(t t f ε=;at e t f =)((分别取00<>a a 及); )()(t R t f =;)()(t Sa t f ω=;)2()(ft Sin t f π=(分别画出不同周期个数的波形)。 解题分析: 以上各类连续函数,先运用t = t1: p:t2的命令定义时间围向量,然后调用对应的函数,建立f 与t 的关系,最后调用plot ()函数绘制图像,并用axis ()函数限制其坐标围。 实验程序: (1))()(t t f δ= t=-1:0.01:3 %设定时间变量t 的围及步长 f=dirac(t) %调用冲激函数dirac () plot(t,f) %用plot 函数绘制连续函数 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的围 (2))()(t t f ε= t=-1:0.01:3 %设定时间变量t 的围及步长 f=heaviside(t) %调用阶跃函数heaviside () plot(t,f) %用plot 函数绘制连续函数 title('f(t)=heaviside(t)') %用title 函数设置图形的名称 axis([-1,3,-0.5,1.5]) %用axis 函数规定横纵坐标的围 (3)at e t f =)( a=1时:

t=-5:0.01:5 %设定时间变量t 的围及步长 f=exp(t) %调用指数函数exp () plot(t,f) %用plot 函数绘制连续函数 title('f=exp(t)') %用title 函数设置图形的名称 axis([-5,5,-1,100]) %用axis 函数规定横纵坐标的围 a=2时: t=-5:0.01:5 f=exp(2*t) % 调用指数函数exp () plot(t,f) title('f=exp(2*t)') axis([-5,5,-1,100]) a=-2时: t=-5:0.01:5 f=exp(-2*t) plot(t,f) title('f=exp(-2*t)') axis([-5,5,-1,100]) (4))()(t R t f = t=-5:0.01:5 f=rectpuls(t,2) % 用rectpuls(t,a)表示门函数,默认以零点为中心,宽度为a plot(t,f) title('f=R(t)') axis([-5 5 -0.5 1.5]) (5))()(t Sa t f ω= ω=1时: t=-20:0.01:20 f=sin(t)./t % 调用正弦函数sin (),并用sin (t )./t 实现抽 样函数 plot(t,f)

离散信号MATLAB频谱分析程序

离散信号MATLAB频谱分析程序 % FFT变换,获得采样数据基本信息,时域图,频域图 % 这里的向量都用行向量,假设被测变量是速度,单位为m/s clear; close all; load data.txt %通过仪器测量的原始数据,存储为data.txt中,附件中有一个模版(该信号极不规则) A=data; %将测量数据赋给A,此时A为N×2的数组 x=A(:,1); %将A中的第一列赋值给x,形成时间序列 x=x'; %将列向量变成行向量 y=A(:,2); %将A中的第二列赋值给y,形成被测量序列 y=y'; %将列向量变成行向量 %显示数据基本信息 fprintf('\n数据基本信息:\n') fprintf(' 采样点数= %7.0f \n',length(x)) %输出采样数据个数 fprintf(' 采样时间= %7.3f s\n',max(x)-min(x)) %输出采样耗时 fprintf(' 采样频率= %7.1f Hz\n',length(x)/(max(x)-min(x))) %输出采样频率 fprintf(' 最小速度= %7.3f m/s\n',min(y)) %输出本次采样被测量最小值fprintf(' 平均速度= %7.3f m/s\n',mean(y)) %输出本次采样被测量平均值fprintf(' 速度中值= %7.3f m/s\n',median(y)) %输出本次采样被测量中值fprintf(' 最大速度= %7.3f m/s\n',max(y)) %输出本次采样被测量最大值fprintf(' 标准方差= %7.3f \n',std(y)) %输出本次采样数据标准差fprintf(' 协方差= %7.3f \n',cov(y)) %输出本次采样数据协方差fprintf(' 自相关系数= %7.3f \n\n',corrcoef(y)) %输出本次采样数据自相关系数%显示原始数据曲线图(时域) subplot(2,1,1); plot(x,y) %显示原始数据曲线图 axis([min(x) max(x) 1.1*floor(min(y)) 1.1*ceil(max(y))]) %优化坐标,可有可无xlabel('时间(s)'); ylabel('被测变量y'); title('原始信号(时域)'); grid on; %傅立叶变换 y=y-mean(y); %消去直流分量,使频谱更能体现有效信息Fs=2000; %得到原始数据data.txt时,仪器的采样频率。其实就是 length(x)/(max(x)-min(x)); N=10000; %data.txt中的被测量个数,即采样个数。其实就是length(y); z=fft(y);

信号的频谱分析及MATLAB实现

第23卷第3期湖南理工学院学报(自然科学版)Vol.23 No.3 2010年9月 Journal of Hunan Institute of Science and Technology (Natural Sciences) Sep. 2010信号的频谱分析及MATLAB实现 张登奇, 杨慧银 (湖南理工学院信息与通信工程学院, 湖南岳阳 414006) 摘 要: DFT是在时域和频域上都已离散的傅里叶变换, 适于数值计算且有快速算法, 是利用计算机实现信号频谱分析的常用数学工具. 文章介绍了利用DFT分析信号频谱的基本流程, 重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施, 实例列举了MATLAB环境下频谱分析的实现程序. 通过与理论分析的对比, 解释了利用DFT分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应, 并提出了相应的改进方法. 关键词: MA TLAB; 频谱分析; 离散傅里叶变换; 频谱混叠; 频谱泄漏; 栅栏效应 中图分类号: TN911.6 文献标识码: A 文章编号: 1672-5298(2010)03-0029-05 Analysis of Signal Spectrum and Realization Based on MATLAB ZHANG Deng-qi, YANG Hui-yin (College of Information and Communication Engineering, Hunan Institute of Science and Technology, Yueyang 414006, China) Abstract:DFT is a Fourier Transform which is discrete both in time-domain and frequency-domain, it fits numerical calculation and has fast algorithm, so it is a common mathematical tool which can realize signal spectrum analysis with computer. This paper introduces the basic process of signal spectrum analysis with DFT, emphasizes the causes of error producing in spectrum analysis process and the main ways to decrease the analysis error, and lists the programs of spectrum analysis based on MATLAB. Through the comparison with the theory analysis, the problems of spectrum aliasing, spectrum leakage and picket fence effect are explained when using DFT to analyze signal spectrum, and the corresponding solution is presented. Key words:MATLAB; spectrum analysis; DFT; spectrum aliasing; spectrum leakage; picket fence effect 引言 信号的频谱分析就是利用傅里叶分析的方法, 求出与时域描述相对应的频域描述, 从中找出信号频谱的变化规律, 以达到特征提取的目的[1]. 不同信号的傅里叶分析理论与方法, 在有关专业书中都有介绍, 但实际的待分析信号一般没有解析式, 直接利用公式进行傅里叶分析非常困难. DFT是一种时域和频域均离散化的傅里叶变换, 适合数值计算且有快速算法, 是分析信号的有力工具. 本文以连续时间信号为例, 介绍利用DFT分析信号频谱的基本流程, 重点阐述频谱分析过程中可能存在的误差, 实例列出MATLAB 环境下频谱分析的实现程序. 1 分析流程 实际信号一般没有解析表达式, 不能直接利用傅里叶分析公式计算频谱, 虽然可以采用数值积分方法进行频谱分析, 但因数据量大、速度慢而无应用价值. DFT在时域和频域均实现了离散化, 适合数值计算且有快速算法, 是利用计算机分析信号频谱的首选工具. 由于DFT要求信号时域离散且数量有限, 如果是时域连续信号则必须先进行时域采样, 即使是离散信号, 如果序列很长或采样点数太多, 计算机存储和DFT计算都很困难, 通常采用加窗方法截取部分数据进行DFT运算. 对于有限长序列, 因其频谱是连续的, DFT只能描述其有限个频点数据, 故存在所谓栅栏效应. 总之, 用DFT分析实际信号的频谱, 其结果必然是近似的. 即使是对所有离散信号进行DFT变换, 也只能用有限个频谱数据近似表示连续频 收稿日期: 2010-06-09 作者简介: 张登奇(1968? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

(完整word版)信号与系统matlab实验

习题三 绘制典型信号及其频谱图 1.更改参数,调试程序,绘制单边指数信号的波形图和频谱图。观察参数a对信号波形 及其频谱的影响。 程序代码: close all; E=1;a=1; t=0:0.01:4; w=-30:0.01:30; f=E*exp(-a*t); F=1./(a+j*w); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|';

E=1,a=1,波形图频谱图更改参数E=2,a=1;

更改参数a,对信号波形及其频谱的影响。(保持E=2)上图为a=1图像 a=2时

a=4时 随着a的增大,f(t)曲线变得越来越陡,更快的逼近0,而对于频谱图,随着a增大,图像渐渐向两边张开,峰值减小,陡度减小,图像整体变得更加平缓。 2.矩形脉冲信号 程序代码: close all; E=1;tao=1; t=-4:0.1:4; w=-30:0.1:30;

f=E*(t>-tao/2&tao/2)+0*(t<=-tao/2&t>=tao/2); F=(2*E./w).*sin(w*tao/2); plot(t,f);xlabel('t');ylabel('f(t)'); figure; plot(w,abs(F));xlabel('\omega');ylabel('|F(\omega)|') ; figure; plot(w,20*log10(abs(F))); xlabel('\omega');ylabel('|F(\omega)| in dB'); figure; plot(w,angle(F));xlabel('\omega');ylabel('\phi(\omega )');

信号的频谱分析

实验三信号的频谱分析 方波信号的分解与合成实验 一、任务与目的 1. 了解方波的傅立叶级数展开和频谱特性。 2. 掌握方波信号在时域上进行分解与合成的方法。 3. 掌握方波谐波分量的幅值和相位对信号合成的影响。 二、原理(条件) PC机一台,TD-SAS系列教学实验系统一套。 1. 信号的傅立叶级数展开与频谱分析 信号的时域特性和频域特性是对信号的两种不同的描述方式。对于一个时域的周期信号f(t),只要满足狄利克莱条件,就可以将其展开成傅立叶级数: 如果将式中同频率项合并,可以写成如下形式: 从式中可以看出,信号f(t)是由直流分量和许多余弦(或正弦)分量组成。其中第一项A0/2是常数项,它是周期信号中所包含的直流分量;式中第二项A1cos(Ωt+φ1)称为基波,它的角频率与原周期信号相同,A1是基波振幅,φ1是基波初相角;式中第三项A2cos(Ωt+φ2)称为二次谐波,它的频率是基波的二倍,A2是基波振幅,φ2是基波初相角。依此类推,还有三次、四次等高次谐波分量。 2. 方波信号的频谱 将方波信号展开成傅立叶级数为: n=1,3,5… 此公式说明,方波信号中只含有一、三、五等奇次谐波分量,并且其各奇次谐波分量的幅值逐渐减小,初相角为零。图3-1-1为一个周期方波信号的组成情况,由图可见,当它包含的分量越多时,波形越接近于原来的方波信号,还可以看出频率较低的谐波分量振幅较大,它们组成方波的主体,而频率较高的谐波分量振幅较小,它们主要影响波形的细节。

(a)基波(b)基波+三次谐波 (c)基波+三次谐波+五次谐波 (d)基波+三次谐波+五次谐波+七次谐波 (e)基波+三次谐波+五次谐波+七次谐波+九次谐波 图3-1-1方波的合成 3. 方波信号的分解 方波信号的分解的基本工作原理是采用多个带通滤波器,把它们的中心频率分别调到被测信号的各个频率分量上,当被测信号同时加到多路滤波器上,中心频率与信号所包含的某次谐波分量频率一致的滤波器便有输出。在被测信号发生的实际时间内可以同时测得信号所包含的各频率分量。本实验便是采用此方法,实验中共有5路滤波器,分别对应方波的一、三、五、七、九次分量。 4. 信号的合成 本实验将分解出的1路基波分量和4路谐波分量通过一个加法器,合成为原输入的方波信号,信号合成电路图如图3-1-2所示。 图3-1-2 三、内容与步骤 本实验在方波信号的分解与合成单元完成。 1. 使信号发生器输出频率为100Hz、幅值为4V的方波信号,接入IN端。 2. 用示波器同时测量IN和OUT1端,调节该通路所对应的幅值调节电位器,使该通路输出方波的基波分量,基波分量的幅值为方波信号幅值的4/π倍,频率于方波相同并且没有相位差.(注意:出厂时波形调节电位器已调到最佳位置,其波形基本不失真,基本没有相位差。若实验中发现存在波形失真或有相位差的现象,请适当调节波形调节电位器,使波形恢复正常。) 3. 用同样的方法分别在OUT3、OUT5、OUT7、OUT9端得到方波的三、五、七、九此谐波分量(注意其他谐波分量各参数应当满足式3-1-1所示)。 4. 完成信号的分解后,先后将OUT1与IN1、OUT3与IN2、OUT5与IN3、OUT7与IN4、OUT9与IN5连接起来,即进行谐波叠加(信号合成),分别测量(1)基波与三次谐波;(2)基波、三次谐波与五次谐波;(3)基波、三次谐波、五次谐波与七次谐波;(4)基波、三次谐波、五次谐波、七次谐波与九次谐波合成后的波形。并分别保

MATLAB实验报告

实验一 名称:连续时间信号分析 姓名:王嘉琦 学号:201300800636 班级:通信二班 一、实验目的 (一)掌握使用Matlab 表示连续时间信号 1、学会运用Matlab 表示常用连续时间信号的方法 2、观察并熟悉常用信号的波形和特性 (二)掌握使用Matlab 进行连续时间信号的相关运算 1、学会运用Matlab 进行连续时间信号的时移、反褶和尺度变换 2、学会运用Matlab 进行连续时间信号微分、积分运算 3、学会运用Matlab 进行连续时间信号相加、相乘运算 4、学会运用Matlab 进行连续时间信号卷积运算 二、实验条件 Matlab 三、实验内容 1、利用Matlab 命令画出下列连续信号的波形图。 (1))4/3t (2cos π+ 代码: k=2;w=3;phi=pi/4; t=0:0.01:3; ft=k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,-2.2,2.2]) title('余弦信号')

(2) )t (u )e 2(t -- 代码: k=-1;a=-1; t=0:0.01:3; ft=2-k*exp(a*t); plot(t,ft),grid on axis([0,3,2,3]) title('指数信号')

(3))]2()(u )][t (cos 1[--+t u t π 代码: k=1;w=pi;phi=0; t=0:0.01:2; ft=1+k*cos(w*t+phi); plot(t,ft),grid on; axis([0,3,0,2]) title('余弦信号')

实验一离散信号的频谱分析报告

实验一离散信号的频谱分析报告 班级 姓名 学号

实验一离散信号的频谱分析报告 1 掌握采样频率的概念 2 掌握信号频谱分析方法; 3 掌握在计算机中绘制信号频谱图的方法。 ①采样频率为1000Hz,信号频率为30Hz的正弦信号y1(n) 对其进行FFT变换 ②采样频率为1000Hz,信号频率为120Hz的正弦信号y2(n)

对其进行FFT变换 ③采样频率为1000Hz, 30Hz的正弦信号和120Hz的混合信号y3(n)。 对其进行FFT变换

语音信号波形

附录程序: fs=1000;%设定采样频率 N=1024; n=0:N-1; t=n/fs; f0=30;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f0*t); figure(1); subplot(3,2,1); plot(t,x);%作正弦信号的时域波形xlabel('t'); ylabel('y'); title('正弦信号30HZ时域波形'); grid; %进行FFT变换并做频谱图

y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(1); subplot(3,2,2); plot(f,mag);%做频谱图 axis([0,100,0,500]); xlabel('频率(Hz)'); ylabel('幅值'); title('正弦信号30HZ幅频谱图N=1024'); grid; %120HZ f1=120; x=sin(2*pi*f1*t); figure(1); subplot(3,2,3); plot(t,x);%作正弦信号的时域波形 xlabel('t'); ylabel('y'); title('正弦信号120HZ时域波形'); grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换

信号与系统MATLAB实验

2016-2017学年第一学期 信号与系统实验报告 班级: 姓名: 学号: 成绩: 指导教师:

实验一常见信号的MATLAB 表示及运算 一.实验目的 1.熟悉常见信号的意义、特性及波形 2.学会使用MATLAB 表示信号的方法并绘制信号波形 3. 掌握使用MATLAB 进行信号基本运算的指令 4. 熟悉用MATLAB 实现卷积积分的方法 二.实验原理 信号一般是随时间而变化的某些物理量。按照自变量的取值是否连续,信号分为连续时间信号和离散时间信号,一般用()f t 和()f k 来表示。若对信号进行时域分析,就需要绘制其波形,如果信号比较复杂,则手工绘制波形就变得很困难,且难以精确。MATLAB 强大的图形处理功能及符号运算功能,为实现信号的可视化及其时域分析提供了强有力的工具。 根据MATLAB 的数值计算功能和符号运算功能,在MATLAB 中,信号有两种表示方法,一种是用向量来表示,另一种则是用符号运算的方法。在采用适当的MATLAB 语句表示出信号后,就可以利用MATLAB 中的绘图命令绘制出直观的信号波形了。下面分别介绍连续时间信号和离散时间信号的MATLAB 表示及其波形绘制方法。 1.连续时间信号 所谓连续时间信号,是指其自变量的取值是连续的,并且除了若干不连续的点外,对于一切自变量的取值,信号都有确定的值与之对应。从严格意义上讲,MATLAB 并不能处理连续信号。在MATLAB 中,是用连续信号在等时间间隔点上的样值来近似表示的,当取样时间间隔足够小时,这些离散的样值就能较好地近似出连续信号。在MATLAB 中连续信号可用向量或符号运算功能来表示。 ⑴ 向量表示法 对于连续时间信号()f t ,可以用两个行向量f 和t 来表示,其中向量t 是用形如12::t t p t 的命令定义的时间范围向量,其中,1t 为信号起始时间,2t 为终止时间,p 为时间间隔。向量f 为连续信号()f t 在向量t 所定义的时间点上的样值。 说明:plot 是常用的绘制连续信号波形的函数。 严格说来,MATLAB 不能表示连续信号,所以,在用plot()命令绘制波形时,要对自变量t 进行取值,MATLAB 会分别计算对应点上的函数值,然后将各个数据点通过折线连接起来绘制图形,从而形成连续的曲线。因此,绘制的只是近似波形,而且,其精度取决于t 的取样间隔。t 的取样间隔越小,即点与点之间的距离越小,则近似程度越好,曲线越光滑。例如:图1-1是在取样间隔为p=0.5时绘制的波形,而图1-2是在取样间隔p=0.1时绘制的波形,两相对照,可以看出图1-2要比图1-1光滑得多。

matlab信号与系统实验报告

实验一 基本信号的产生与运算 一、 实验目的 学习使用MATLAB 产生基本信号、绘制信号波形、实现信号的基本运算。 二、 实验原理 MATLAB 提供了许多函数用于产生常用的基本信号:如阶跃信号、脉冲信号、指数信号、正弦信号和周期方波等等。这些信号是信号处理的基础。 1、 利用MATLAB 产生下列连续信号并作图。 (1)51),1(2)(<<---=t t u t x (2)300),3 2 sin()(3.0<<=-t t e t x t (3)1.01.0,3000cos 100cos )(<<-+=t t t t x (4)2000),8.0cos()1.0cos()(<<=t t t t x ππ 答:(1)、 >> t=-1:0.02:5; >> x=(t>1); >> plot(t,-2*x); >> axis([-1,5,-3,1]); >> title('杨婕婕 朱艺星'); >> xlabel('x(t)=-2u(t-1)');

(2)、 >> t=0:0.02:30; >> x=exp(-0.3*t).*sin(2/3*t); >> plot(t,x); >> title('杨婕婕朱艺星'); >> xlabel('x(t)=exp(-0.3*t).*sin(2/3*t)');

因为原函数在t=15后x(t)取值接近于零,所以将横坐标改成0到15,看得更清晰 axis([0,15,-0.2,0.6]);

(3)>> t=-0.1:0.01:0.1;x=cos(100*t)+cos(3000*t);plot(t,x); >> title('杨婕婕朱艺星'); >>xlabel('x=cos(100*t)+cos(3000*t)'); 因为t的间隔取太大,以至于函数不够准确,缩小t的间隔:t=-0.1:0.002:0.2;x=cos(100*t)+cos(3000*t); plot(t,x);title('杨婕婕')

信号的频谱分析及MATLAB实现

信号的频谱分析及MATLAB 实现(实例) 摘自:张登奇,杨慧银.信号的频谱分析及MATLAB 实现[J].湖南理工学院学报(自然科学版),2010,(03) 摘 要:DFT 是在时域和频域上都已离散的傅里叶变换,适于数值计算且有快速算法,是利用计算机实现信号频谱分析的常用数学工具。文章介绍了利用DFT 分析信号频谱的基本流程,重点阐述了频谱分析过程中误差形成的原因及减小分析误差的主要措施,实例列举了MATLAB 环境下频谱分析的实现程序。通过与理论分析的对比,解释了利用DFT 分析信号频谱时存在的频谱混叠、频谱泄漏及栅栏效应,并提出了相应的改进方法。 关键词:MATLAB ;频谱分析;离散傅里叶变换;频谱混叠;频谱泄漏;栅栏效应 3 分析实例 对信号进行频谱分析时,由于信号不同,傅里叶分析的频率单位也可能不同,频率轴有不同的定标方式。为了便于对不同信号的傅里叶分析进行对比,这里统一采用无纲量的归一化频率单位,即模拟频率对采样频率归一化;模拟角频率对采样角频率归一化;数字频率对2π归一化;DFT 的k 值对总点数归一化。同时,为了便于与理论值进行对比,理解误差的形成和大小,这里以确定信号的幅度谱分析为例进行分析说明。假设信号为:)()(t u e t x t -=,分析过程:首先利用CTFT 公式计算其模拟频谱的理论值;然后对其进行等间隔理想采样,得到)(n x 序列,利用DTFT 公式计算采样序列的数字连续频谱理论值,通过与模拟频谱的理论值对比,理解混叠误差形成的原因及减小误差的措施;接下来是对)(n x 序列进行加窗处理,得到有限长加窗序列)(n xw ,再次利用DTFT 公式计算加窗后序列)(n xw 的数字连续频谱,并与加窗前)(n x 的数字连续频谱进行对比,理解截断误差形成的原因及减小误差的措施;最后是对加窗序列进行DFT 运算,得到加窗后序列)(n xw 的DFT 值,它是对)(n xw 数字连续频谱进行等间隔采样的采样值,通过对比,理解栅栏效应及DFT 点数对栅栏效应的影响。利用MATLAB 实现上述分析过程的程序如下: clc;close all;clear; %CTFT 程序,以x(t)=exp(-t) t>=0 为例 %利用数值运算计算并绘制连续信号波形 L=4, %定义信号波形显示时间长度 fs=4,T=1/fs; %定义采样频率和采样周期 t_num=linspace(0,L,100);%取若干时点,点数决定作图精度 xt_num=exp(-1*t_num);%计算信号在各时点的数值 subplot(3,2,1);plot(t_num,xt_num),%绘信号波形 xlabel('时间(秒)'),ylabel('x(t)'),%加标签 grid,title('(a) 信号时域波形'),%加网格和标题 %利用符号运算和数值运算计算连续信号幅度谱的理论值 syms t W %定义时间和角频率符号对象 xt=exp(-1*t)*heaviside(t),%连续信号解析式 XW=fourier(xt,t,W),%用完整调用格式计算其傅氏变换 %在0两边取若干归一化频点,点数决定作图精度 w1=[linspace(-0.5,0,50),linspace(0,1.5,150)];

信号与系统MATLAB实验总汇

实验一、MATLAB 编程基础及典型实例 一、实验目的 (1)熟悉MATLAB 软件平台的使用; (2)熟悉MATLAB 编程方法及常用语句; (3)掌握MATLAB 的可视化绘图技术; (4)结合《信号与系统》的特点,编程实现常用信号及其运算。 示例一:在两个信号进行加、减、相乘运算时,参于运算的两个向量要有相同的维数,并且它们的时间变量范围要相同,即要对齐。编制一个函数型m 文件,实现这个功能。function [f1_new,f2_new,n]=duiqi(f1,n1,f2,n2) a=min(min(n1),min(n2)); b=max(max(n1),max(n2)); n=a:b; f1_new=zeros(1,length(n)); f2_new=zeros(1,length(n)); tem1=find((n>=min(n1))&(n<=max(n1))==1); f1_new(tem1)=f1; tem2=find((n>=min(n2))&(n<=max(n2))==1); f2_new(tem2)=f2; 四、实验内容与步骤 (2)绘制信号x(t)=)3 2sin(2t e t ?的曲线,t 的范围在0~30s ,取样时间间隔为0.1s 。t=0:0.1:30; y=exp(-sqrt(2)*t).*sin(2*t/3); plot(t,y);

(3)在n=[-10:10]范围产生离散序列:?? ?≤≤?=Other n n n x ,033,2)(,并绘图。n=-10:1:10; z1=((n+3)>=0); z2=((n-3)>=0); x=2*n.*(z1-z2); stem(n,x);(4)编程实现如下图所示的波形。 t=-2:0.001:3; f1=((t>=-1)&(t<=1)); f2=((t>=-1)&(t<=2)); f=f1+f2; plot(t,f); axis([-2,3,0,3]);

应用MATLAB对信号进行频谱分析

数字信号处理课程设计报告书 2011年7 月 1日 课题名称 应用MATLAB 对信号进行频谱分析 姓 名 张炜玮 学 号 20086377 院、系、部 电气系 专 业 电子信息工程 指导教师 刘鑫淼 ※※※※※※※※※ ※※ ※※ ※※ ※※ ※※※※※ ※※ 2008级数字信号处理课程设计

应用MATLAB对信号进行频谱分析 20086377 张炜玮 一、设计目的 用MATLAB语言进行编程,绘出所求波形,并且运用FFT求对连续信号进行分析。 二、设计要求 1、用Matlab产生正弦波,矩形波,并显示各自的时域波形图; 2、进行FFT变换,显示各自频谱图,其中采样率、频率、数据长度自选,要求注明; 3、绘制三种信号的均方根图谱; 4、用IFFT回复信号,并显示恢复的正弦信号时域波形图。 三、系统原理 用FFT对信号作频谱分析是学习数字信号处理的重要内容。经常需要进行频谱分析的信号是模拟信号和时域离散信号。频谱分辨率直接和FFT的变换区间N 有关,因为FFT能够实现频率分辨率是2π/N。 x(n)是一个长度为M的有限长序列,则x(n)的N点离散傅立叶变换为: X(k)=DFT[x(n)]= kn N W N n n x ∑ - = 1 ) ( ,k=0,1,...,N-1 N j e N Wπ2- = 逆变换:x(n) =IDFT[X(k)]= kn N W k X N n N - ∑ - = 1 ) ( 1 ,k=0,1,...,N-1 但FFT是一种比DFT更加快速的一种算法,提高了DFT的运算速率,为数字信号处理技术应用于各种信号处理创造了条件,大大提高了数字信号处理技术的发展。本实验就是采用FFT,IFFT对信号进行谱分析。 四、程序设计 fs=input('please input the fs:');%设定采样频率 N=input('please input the N:');%设定数据长度 t=0:0.001:1; f=100;%设定正弦信号频率 %生成正弦信号 x=sin(2*pi*f*t);

信号实验二 离散信号的频谱分析

实验二离散信号的频谱分析 一、[实验目的] (1)加深对采样定理的理解和掌握,以及对信号恢复的必要性; (2)掌握对连续信号在时域的采样与重构的方法 (3)理解和加深傅里叶变换的概念及其性质。 (4)离散时间傅里叶变换(DTFT)的计算和基本性质。 (5)离散傅里叶变换(DFT)的计算和基本性质。 二、[实验内容] 1.实验原理验证 (一).采样定理及采样后信号的频谱 对Sa(t)的采样后信号的频谱 (二).信号重建 对cos(t)的采样与重建信号cos(t) cos(t)重建信号与原信号的比较及误差(三).离散时间信号的傅立叶变换及频谱分析 (1))离散时间傅里叶变换的概念及其性质。 有限长序列x(n)={1,2,3,4,5}

(2)离散傅里叶变换的概念及其性质 x(n)=sin(n*pi/8)+sin(n*pi/4),N=16的序列傅里 叶变换。 2. 选取信号f(t)= cos(t)作为被采样信号(最高频率为f=8Hz),取理想低通的截止 频率wc=1/2*ws。实现对信号f(t)= cos(t)的采样及由该采样信号的恢复重建,按 要求完成以下内容: (1) 分别令采样角频率ws=1.5*wm 及ws=3*wm,给出在欠采样及过采样条件下冲 激取样后信号的频谱,从而观察频谱的混叠现象。 答:实验程序如下 clc,clear dt=0.01; t=0:dt:1;

-10-8-6-4-20246 810 -0.10 0.10.2 0.30.4 0.5 0.6cos(t)的3倍采样信号频谱 ω F (j w ) f=8; %信号频率 wm=2*pi*f; %信号角频率 ft=cos(wm*t); %时域信号 %bs=1.5; %采样角频率,欠采样 bs=3; %采样角频率,大于两倍采样 ws=bs*wm; Ts=2*pi/ws; %采样时间间隔 wc=1/2*ws; %理想低通截止频率 nTs=0:Ts:1; Tf=0.01; nTf=-10:Tf:10; f_nTs=cos(wm*nTs); %时域采样信号 Fs=funexer4_1(f_nTs,nTs,Ts,nTf); figure(1); plot(nTf,Fs); title('cos(t)的3倍采样信号频谱'); xlabel('ω'); ylabel('F(jw)'); grid on %//////////////////1.5倍采样 figure(2) bs=1.5; %采样角频率,大于两倍采样 ws=bs*wm; Ts=2*pi/ws; %采样时间间隔 wc=1/2*ws; %理想低通截止频率 nTs=0:Ts:1; Tf=0.01; nTf=-10:Tf:10; Fs=funexer4_1(f_nTs,nTs,Ts,nTf); plot(nTf,Fs); title('cos(t)的1.5倍采样信号频谱'); xlabel('ω'); ylabel('F(jw)'); grid on (2) 若采样角频率取为ws=3*wm ,欲使输出信号与输入信号一致为cos(t),试根据采样信号恢复信号的误差,确定理想低通滤波器H ( jw)的截止角频率Wc 的取值范围应为多大? -10-8-6-4-20246 810 -0.100.1 0.20.30.4 0.50.6cos(t)的1.5倍采样信号频谱 ωF (j w )

相关主题