文档库 最新最全的文档下载
当前位置:文档库 › DTMF信号产生的Matlab实现

DTMF信号产生的Matlab实现

DTMF信号产生的Matlab实现
DTMF信号产生的Matlab实现

DTMF信号产生的Matlab仿真

1、DTMF的相关介绍

DTMF(Dual Tone Multi Frequency,双音多频)由高频群和低频群组成,高低频群各包含4个频率。一个高频信号和一个低频信号叠加组成一个组合信号,代表一个数字。DTMF信号有16个编码,。利用DTMF信令可选择呼叫相应的对讲机,因而作为电话系统中电话机与交换机之间的一种用户信令,用于发送被叫号码。双音多频的拨号键盘是4×4的矩阵,每一行代表一个低频,每一列代表一个高频(如上图),在双音多频电话机中,有16个按键,其中10个数字键(0~9)6个功能键(*、#、A、B、C、D)。每按一个键就发送一个高频和低频的正弦信号组合,比如'1'相当于697和1209赫兹(Hz)。交换机可以解码这些频率组合并确定所对应的按键。

2、DTMF信号实现方法由于语音频率范围为300—3400Hz,根据奈奎斯特取样定理,取样频率fs应大于或等于原信号最高频率fc的两倍,即fs≥2fc才能保证取样后的信号不失真,此处fc通常取为4KHz,所以电话音频信号在数字信号处理时,取样频率fs为2×fc=8KHz。CCITT规定每秒最多按10个键,即每个键时隙最短为100ms,其中音频实际持续时间至少为45ms,不大于55ms,时隙的其他时间内保持静默,因此按键产生双音频信号时,相继的两个信号间隔一段时间;而解码器则是利用这个时间识别出双音频信号,并转换成对应的数字信息。这里,

每个数字信号持续时间为100ms,后面加上100ms的间隔时间(用0表示)。DTMF的编译码定义可用式f(t)=Asin(2*pi*fh*i/fs)+Bsin(2*pi*fl*i/fs) 表示,式中两项分别表示i时刻高、低音频的幅值,A和B分别表示高音群和低音群的样值量化基线,而且两者幅值比为K=B/A (0.7

3、Matlab仿真实现DTMF信号产生的源代码

clc

clear

fs=8000;

flow=[697,770,852,942];fhight=[1209,1336,1477,1633];

telnum=input('input your number:','s');

lengthofnum=length(telnum);

tone=[];

tones=[];

n=[0:399]

for i=1:lengthofnum

if (str2num(telnum(i))==0);

tone=[sin(2*pi*flow(4)*n/fs)+sin(2*pi*fhight(2)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==1);

tone=[sin(2*pi*flow(1)*n/fs)+sin(2*pi*fhight(1)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==2);

tone=[sin(2*pi*flow(1)*n/fs)+sin(2*pi*fhight(2)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==3);

tone=[sin(2*pi*flow(1)*n/fs)+sin(2*pi*fhight(3)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==4);

tone=[sin(2*pi*flow(2)*n/fs)+sin(2*pi*fhight(1)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==5);

tone=[sin(2*pi*flow(2)*n/fs)+sin(2*pi*fhight(2)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==6);

tone=[sin(2*pi*flow(2)*n/fs)+sin(2*pi*fhight(3)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==7);

tone=[sin(2*pi*flow(3)*n/fs)+sin(2*pi*fhight(1)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==8);

tone=[sin(2*pi*flow(3)*n/fs)+sin(2*pi*fhight(2)*n/fs) zeros(1,400)];

elseif (str2num(telnum(i))==9);

tone=[sin(2*pi*flow(3)*n/fs)+sin(2*pi*fhight(3)*n/fs) zeros(1,400)];

end

tones=[tones tone]

end

figure(1)

plot(tones)

figure(2)

freqz(tones)

figure(3)

plot(abs(fft(tones)))

wavwrite(tones,fs,16,'E:\matlab\dtmf.wav')

matlab频谱分析

设计出一套完整的系统,对信号进行频谱分析和滤波处理; 1.产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2.采集一段含有噪音的语音信号(可以录制含有噪音的信号,或者录制语音后再加进噪音信号),对其进行采样和频谱分析,根据分析结果设计出一合适的滤波器滤除噪音信号。 %写上标题 %设计低通滤波器: [N,Wc]=buttord() %估算得到Butterworth低通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc); %设计Butterworth低通滤波器 [h,f]=freqz(); %求数字低通滤波器的频率响应 figure(2); % 打开窗口2 subplot(221); %图形显示分割窗口 plot(f,abs(h)); %绘制Butterworth低通滤波器的幅频响应图 title(巴氏低通滤波器''); grid; %绘制带网格的图像 sf=filter(a,b,s); %叠加函数S经过低通滤波器以后的新函数 subplot(222); plot(t,sf); %绘制叠加函数S经过低通滤波器以后的时域图形 xlabel('时间(seconds)'); ylabel('时间按幅度'); SF=fft(sf,256); %对叠加函数S经过低通滤波器以后的新函数进行256点的基—2快速傅立叶变换 w= %新信号角频率 subplot(223); plot()); %绘制叠加函数S经过低通滤波器以后的频谱图 title('低通滤波后的频谱图'); %设计高通滤波器 [N,Wc]=buttord() %估算得到Butterworth高通滤波器的最小阶数N和3dB截止频率Wc [a,b]=butter(N,Wc,'high'); %设计Butterworth高通滤波器 [h,f]=freqz(); %求数字高通滤波器的频率响应 figure(3); subplot(221); plot()); %绘制Butterworth高通滤波器的幅频响应图 title('巴氏高通滤波器'); grid; %绘制带网格的图像 sf=filter(); %叠加函数S经过高通滤波器以后的新函数 subplot(222); plot(t,sf); ;%绘制叠加函数S经过高通滤波器以后的时域图形 xlabel('Time(seconds)'); ylabel('Time waveform'); w; %新信号角频率 subplot(223);

信号的频谱分析及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? ), 男, 湖南临湘人, 硕士, 湖南理工学院信息与通信工程学院副教授. 主要研究方向: 信号与信息处理

基于matlab的信号分析与处理

基于m a t l a b的信号分 析与处理 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期: 2014年1月

目录4

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信

实验三用FFT对信号进行频谱分析和MATLAB程序

实验三 用FFT 对信号进行频谱分析 一 实验目的 1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法; 2了解用FFT 进行频谱分析可能出现的分析误差及其原因; 二 实验原理 1.用DFT 对非周期序列进行谱分析 单位圆上的Z 变换就是序列的傅里叶变换,即 ()()j j z e X e X z ωω== (3-1) ()j X e ω是ω的连续周期函数。对序列()x n 进行N 点DFT 得到()X k ,则()X k 是在区间[]0,2π上对()j X e ω的N 点等间隔采样,频谱分辨率就是采样间隔 2N π。因此序列的傅里叶变换可利用DFT (即FFT )来计算。 用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而非周期序列的频谱是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 2.用DFT 对周期序列进行谱分析 已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)和(3-3) 给出: DFS : ∑-=-=1 2)(1N n kn N j k e n x N a π , n =0,1,2,…,N -1 (3-2) IDFS : ∑-==1 02)(N k kn N j k e a n x π , n =0,1,2,…,N -1 (3-3) 对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)和(3-5)给出: DFT : ∑-=-=1 02)()(N n kn N j e n x k X π , n =0,1,2,…,N -1 (3-4) IDFT : ∑-==1 02)(1)(N k kn N j e k X N n x π , n =0,1,2,…,N -1 (3-5) FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)和(3-7)给出:

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

基于matlab的信号分析与处理

山东建筑大学 课程设计说明书题目:基于MATLAB的信号分析与处理课程:数字信号处理课程设计 院(部):信息与电气工程学院 专业:通信工程 班级:通信111班 学生姓名: 学号: 指导教师: 完成日期:2014年1月

目录 摘要 (Ⅰ) 1 设计目的和要求 (1) 2 设计原理 (2) 3 设计内容 (3) 3.1 程序源代码 (4) 3.2 调试分析与过程描述 (7) 3.3 结果分析 (12) 总结 (13) 致谢 (14) 参考文献 (15)

摘要 这次是基于MATLAB的信号分析与处理。所谓数字滤波器,就是输入、输出都是数字信号的,通过数值计算处理改变输入信号所含频率成分的相对比例,或者滤除某些频率成分的数字器件或程序。常用的经典滤波器有低通、高通、带通、带阻。 首先产生一个连续信号,包含低频、中频、高频分量;对其进行采样,得到数字信号;对数字信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通、低通、带通滤波器,绘制滤波器的幅频及相频特性;用所设计的滤波器对信号滤波,并绘制出滤波后的频谱图。 关键词:MATLAB; FFT;滤波器;信号产生;频谱分析

1设计目的和要求 产生一个连续信号,包含低频,中频,高频分量,对其进行采样,进行频谱分析,分别设计三种高通,低通,带通滤波器对信号进行滤波处理,观察滤波后信号的频谱。 2设计原理 信号的采样要符合奈奎斯特采样定律,一般为被采信号最高频率的2倍,只有这样,才能保证频域不混叠,也就是采样出来数字信号中包含了被采信号的所有信息,而且没有引入干扰。这就是信号的时域采样。 频谱分析是指对信号进行频域谱的分析,观察其频域的各个分量的功率大小,其理论基础是傅立叶变换,现在一般采用数字的方法,也就是将时域信号数字化后做FFT,可以得到频域的波形。 数字滤波器是一种用来过滤时间离散信号的数字系统,通过对抽样数据进行数学处理来达到频域滤波的目的。可以设计系统的频率响应,让它满足一定的要求,从而对通过该系统的信号的某些特定的频率成分进行过滤,这就是滤波器的基本原理。 IIR滤波器的设计原理: IIR数字滤波器的设计一般是利用目前已经很成熟的模拟滤波器的设计方法来进行设计,通常采用模拟滤波器原型有butterworth函数、chebyshev函数、bessel函数、椭圆滤波器函数等。 IIR数字滤波器的设计步骤: (1)按照一定规则把给定的滤波器技术指标转换为模拟低通滤波器的技术指标; (2)根据模拟滤波器技术指标设计为响应的模拟低通滤波器; (3)很据脉冲响应不变法和双线性不变法把模拟滤波器转换为数字滤波器; (4)如果要设计的滤波器是高通、带通或带阻滤波器,则首先把它们的技术指标转化为模拟低通滤波器的技术指标,设计为数字低通滤波器,最后通过频率转换的方法来得到所要的滤波器。 本课程设计设计思想:首先利用MATLAB分别产生低频、中频、高频信号,然后进行叠加得到连续时间信号;对所产生的连续时间信号进行采样,得到数字信号;对信号进行FFT频谱分析,绘制其频谱图;根据信号频谱分析的结果,分别设计高通,低通,带通滤波器,得到滤波器的幅频及相频特性。

基于MATLAB仿真的数字信号调制的性能比较和分析

2ASK、2FSK、2PSK数字调制系统的 Matlab实现及性能分析比较 指导教师: 班级: 学号: 姓名:

引言:数字信号有两种传输方式,分别是基带传输方式和调制传输方式,即带通,在实际应用中,因基带信号含有大量低频分量不利于传送,所以必须经过载波和调制形成带通信号,通过数字基带信号对载波某些参量进行控制,使之随机带信号的变化而变化,这这一过程即为数字调制。数字调制为信号长距离高效传输提供保障,现已广泛应用于生活和生产中。另外根据控制载波参量方式的不同,数字调制主要有调幅(ASK ),调频(FSK),调相(PSK) 三种基本形式。本次课题针对于二进制的2ASK 、2FSK 、2PSK 进行讨论,应用Matlab 矩阵实验室进行仿真,分析和修改,通过仿真系统生成一个人机交互界面,以利于仿真系统的操作。通过对系统的仿真,更加直观的了解数字调制系统的性能及影响其性能的各种因素,以便于比较,评论和改进。 关键词: 数字,载波,调制,2ASK ,2FSK ,2PSK ,Matlab ,仿真,性能,比较,分析 正文: 一 .数字调制与解调原理 1.1 2ASK (1)2ASK 2ASK 就是把频率、相位作为常量,而把振幅作为变量,信息比特是通过载波的幅度来传递的。由于调制信号只有0或1两个电平,相乘的结果相当于将载频或者关断,或者接通,它的实际意义是当调制的数字信号"1时,传输载波;当调制的数字信号为"0"时,不传输载波。 表达式为: ???===0 01,cos )(2k k c ASK a a t A t s 当, 当ω

1.2 2FSK 2FSK可以看做是2个不同频率的2ASK的叠加,其调制与解调方法与2ASK差不多,主要频率F1和F2,不同的组合产生所要求的2FSK调制信号。 公式如下: ? ? ? = = = cos 1 , cos )( 2 1 2 k k FSK a t A a t A t s 当 , 当 ω ω

实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三--用FFT对信号进行频谱分析及MATLAB程序

实验三 用FFT 对信号进行频谱分析 一 实验目的 1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法; 2了解用FFT 进行频谱分析可能出现的分析误差及其原因; 二 实验原理 1.用DFT 对非周期序列进行谱分析 单位圆上的Z 变换就是序列的傅里叶变换,即 ()() j j z e X e X z ω ω== (3-1) () j X e ω是ω的连续周期函数。对序列()x n 进行N 点 DFT 得到()X k ,则()X k 是在区间[]0,2π上对()j X e ω 的N 点等间隔采样,频谱分辨率就是采样间隔2N π 。因 此序列的傅里叶变换可利用DFT (即FFT )来计算。 用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的是离散谱,而非周期序列的频谱是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 2.用DFT 对周期序列进行谱分析

已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)和(3-3) 给出: DFS : ∑-=-=1 2)(1N n kn N j k e n x N a π , n =0,1,2,…,N -1 (3-2) IDFS : ∑-==1 02)(N k kn N j k e a n x π , n =0,1,2,…,N -1 (3-3) 对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)和(3-5)给出: DFT : ∑-=-=1 02)()(N n kn N j e n x k X π , n =0,1,2,…,N -1 (3-4) IDFT : ∑-==1 2)(1)(N k kn N j e k X N n x π , n =0,1,2,…,N -1 (3-5) FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)和(3-7)给出: DTFS : 1 *(())k a fft x n N = (3-6) IDTFS : ()*() k x n N ifft a =

Matlab课程设计_SSB信号的仿真分析资料

课程设计任务书 学生姓名:专业班级: 指导教师:工作单位: 题目: SSB信号的仿真分析 初始条件: ①MATLAB软件 ②数字信号处理与图像处理基础知识 要求完成的主要任务: 调制信号:分别为300Hz正弦信号和三角波信号;载波频率:30kHz;解调方式:同步解调; 要求:画出以下三种情况下调制信号、已调信号、解调信号的波形、频谱以及解调器输入输出信噪比的关系曲线; 1)调制信号幅度=0.8×载波幅度;2)调制信号幅度=载波幅度; 3)调制信号幅度=1.5×载波幅度。 时间安排 第17周,安排任务(鉴主5楼实验室) 第17-18周,仿真设计(鉴主5楼实验室) 第19周,完成(答辩,提交报告,演示) 指导教师签名:年月日系主任(或责任教师)签名:年月日

目录 摘要 (1) Abstract (2) 1 SSB调制与解调原理 (3) 1.1SSB调制原理 (3) 1.2 SSB解调原理与抗噪性能 (3) 2 SSB调制解调分析的MATLAB实现 (4) 3 SSB调制的实现 (6) 3.1 调制信号为正弦信号 (6) 3.1.1 调制信号幅度=0.8×载波幅度 (8) 3.1.2 调制信号幅度=载波幅度 (9) 3.1.3 调制信号幅度=1.5×载波幅度 (11) 3.2 调制信号为三角波信号 (13) 3.2.1 调制信号幅度=0.8×载波幅度 (15) 3.2.2 调制信号幅度=载波幅度 (17) 3.2.3 调制信号幅度=1.5×载波幅度 (19) 4 心得体会 (22) 5 参考文献 (23)

摘要 MATLAB软件广泛用于数字信号分析,系统识别,时序分析与建模,神经网络、动态仿真等方面有着广泛的应用。新版的MATLAB增强了图形处理功能,并在WINDOWS环境下运行。现今,MATLAB的发展已大大超出了“矩阵实验室”的范围,它的配备了涉及到自动控制、信息处理、计算机仿真等种类繁多的工具箱(Tool Box),这些工具箱有数理统计、信号处理、系统辨识、最优化、稳健等等。本次课程设计主要利用MATLAB集成环境下的M文件,编写程序来实现SSB 解调,分别利用300HZ正弦波和矩形波,对30KHZ正弦波进行调制,观察调制信号、已调信号和解调信号的波形和频谱分布,并在解调时引入高斯白噪声,对解调前后信号进行信噪比的对比分析,估计SSB调制解调系统的性能。

连续信号与系统频域分析的MATLAB实现

连续信号与系统频域分析的M A T L A B实现 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

实验十三 连续信号与系统频域分析的 M A T L A B 实现 一、实验目的 1. 掌握连续时间信号频谱特性的MATLAB 分析方法; 2.掌握连续系统的频率响应MATLAB 分析方法方法。 二、实验原理 1. 连续时间信号的频谱---傅里叶变换 非周期信号的频谱密度可借助傅里叶变换作分析。傅里叶正变换和逆变换分别为: Matlab 的符号运算工具箱(Symbolic Math Toolbox )提供了能直接求解傅里叶变换和逆变换的符号运算函数fourier()和ifourier()。两函数的调用格式如下。 (1)傅里叶变换 在Matlab 中,傅里变换变换由函数fourier()实现。fourier()有三种调用格式: ① F=fourier(f ) 求时间函数f (t)的傅里叶变换,返回函数F 的自变量默认为w ,即)]([)(t f j F F =ω; ② F=fourier(f ,v ) 求时间函数f (t)的傅里叶变换,返回函数F 的自变量为v ,即)]([)(t f jv F F =; ③ F=fourier(f ,u ,v ) 对自变量为u 的函数f (u )求傅里叶变换,返回函数F 的自变量为v ,即)]([)(u f jv F F =。 (2)傅里叶逆变换 在Matlab 中,傅里变换逆变换由函数ifourier()实现。与函数fourier()相类似,ifourier()也有三种调用格式: ① f=ifourier(F ) 求函数F (j)的傅里叶逆变换,返回函数f 的自变量默认为x ,即)]([)(1 ωj F x f -=F ; ② f=ifourier(F ,u ) 求函数F (j)的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1ωj F u f -=F 。 ③ f=ifourier(F ,v ,u ) 求函数F (j v )的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1jv F u f -=F 由于fourier()和ifourier()是符号运算函数,因此,在调用fourier()和ifourier()之前,需用syms 命令对所用到的变量(如t ,u ,v ,w )作说明。举例如下。 例13-1.求单边指数函数)()(2t e t f t ε-=的傅里叶变换,画出其幅频特性和相频特性图。

matlab三种信号的产生合成与频谱分析

正弦信号的产生 t=0:pi/500:4*pi; t=t(1:2000);%采样点2000个 y=sin(t); y=y(1:2000); figure(1) subplot(222) plot(t,y); axis([0,4*pi,-1,1]); title('正弦时域波形图'); xlabel('t'); ylabel('y'); grid; 方波的产生 t=0:0.01:10; t=t(1:1000); y=square(pi*t); y=y(1:1000); figure(1); subplot(221) plot(t,y);%做时域波形 axis([0,10,-1.5,1.5]);%定义坐标轴范围 title('方波时域波形图'); xlabel('t');%定义坐标轴标题 ylabel('y'); grid; 正弦信号与方波的产生与频谱分析 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); figure(1); subplot(211); plot(t,x);%作正弦信号的时域波形 axis([0,0.1,-1,1]); title('正弦信号时域波形'); z=square(50*t); subplot(212) plot(t,z) axis([0,1,-2,2]); title('方波信号时域波形');grid; %进行FFT变换并做频谱图 y=fft(x,N);%进行fft变换 mag=abs(y);%求幅值 f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; figure(2); subplot(211); plot(f,mag);%做频谱图 axis([0,1000,0,200]); title('正弦信号幅频谱图'); y1=fft(z,N);%进行fft变换 mag=abs(y1);%求幅值 f=(0:N-1)*fs/N;%横坐标频率的表达式为f=(0:M-1)*Fs/M; subplot(212); plot(f,mag);%做频谱图 axis([0,1000,0,200]); title('方波信号幅频谱图');grid; %求功率谱 sq=abs(y); power=sq.^2; figure(3) subplot(211); plot(f,power);

matlab信号分析

一、用MatLab完成三种不同信号的产生、合成或分解,时域波形分析(峰值,峰峰值,有效值,平均 t=linspace(0,5*pi,65000); %在从0到2*pi取15000个点 y1=20*sin(2*pi*t); %任给一正弦信号 subplot(3,1,1); plot(t,y1); axis ([0 2*pi -25 25]); %画时域波形图 max1=max(y1) %峰值 vpp1=max(y1)-min(y1) %峰峰值 avg1=mean(y1) %平均值 rms1=norm(y1)/sqrt(length(y1)) %均方根值(有效值) title('正弦波') y2=20*square(2*pi*t,50); %任给一方波信号 subplot(3,1,2); plot(t,y2); axis ([0 2*pi -25 25]); %画时域波形图 max2=max(y2) %峰值 vpp2=max(y2)-min(y2) %峰峰值 avg2=mean(y2) %平均值 rms2=norm(y2)/sqrt(length(y2)) %均方根值(有效值) title('方波') y3=20*sawtooth(t,0.5); %任给一三角波信号 subplot(3,1,3); plot(t,y3); axis ([0 5*pi -25 25]); %画时域波形图 max3=max(y3) %峰值 vpp3=max(y3)-min(y3) %峰峰值 avg3=mean(y3) %平均值 rms3=norm(y3)/sqrt(length(y3)); %均方根值(有效值) title('三角波') figure f1=4*cos(t)/(pi*pi); f2=4*cos(3*t)/(pi*pi*9); f3=4*cos(5*t)/(pi*pi*25); f4=4*cos(7*t)/(pi*pi*49); f=0.5*(-sawtooth(t,0.5)+1); %三角波的分解 subplot(5,1,1), plot(t,f); title('三角波') %画三角波 subplot(5,1,2), plot(t,f1); title('三角波的基波') %画基波 subplot(5,1,3), plot(t,f2); title('三角波三次谐波') %画三次谐波 subplot(5,1,4), plot(t,f3); title('三角波五次谐波') %画五次谐波 subplot(5,1,5), plot(t,f4);

连续信号与系统频域分析的MATLAB实现

实验十三 连续信号与系统频域分析的M A T L A B 实现 一、实验目的 1. 掌握连续时间信号频谱特性的MATLAB 分析方法; 2.掌握连续系统的频率响应MATLAB 分析方法方法。 二、实验原理 1. 连续时间信号的频谱---傅里叶变换 非周期信号的频谱密度可借助傅里叶变换作分析。傅里叶正变换和逆变换分别为: Matlab 的符号运算工具箱(Symbolic Math Toolbox )提供了能直接求解傅里叶变换和逆变换的符号运算函数fourier()和ifourier()。两函数的调用格式如下。 (1)傅里叶变换 在Matlab 中,傅里变换变换由函数fourier()实现。fourier()有三种调用格式: ① F=fourier(f ) 求时间函数f (t)的傅里叶变换,返回函数F 的自变量默认为w ,即)]([)(t f j F F =ω; ② F=fourier(f ,v ) 求时间函数f (t)的傅里叶变换,返回函数F 的自变量为v ,即)]([)(t f jv F F =; ③ F=fourier(f ,u ,v ) 对自变量为u 的函数f (u )求傅里叶变换,返回函数F 的自变量为v ,即)]([)(u f jv F F =。 (2)傅里叶逆变换 在Matlab 中,傅里变换逆变换由函数ifourier()实现。与函数fourier()相类似,ifourier()也有三种调用格式: ① f=ifourier(F ) 求函数F (j ?)的傅里叶逆变换,返回函数f 的自变量默认为x ,即)]([)(1 ωj F x f -=F ; ② f=ifourier(F ,u ) 求函数F (j ?)的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1ωj F u f -=F 。 ③ f=ifourier(F ,v ,u ) 求函数F (j v )的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1jv F u f -=F 由于fourier()和ifourier()是符号运算函数,因此,在调用fourier()和ifourier()之前,需用syms 命令对所用到的变量(如t ,u ,v ,w )作说明。举例如下。 例13-1.求单边指数函数)()(2t e t f t ε-=的傅里叶变换,画出其幅频特性和相频特性图。

matlab三种信号分析

用MatLab完成三种不同信号的产生、合成或分解,时域波形分析(峰值,峰峰值,有效值,平均值,均方根值等) 用MatLab进行三种不同信号频谱分析(可选择功率谱,幅频相频谱,实频虚频)和相关分析(可选择自相关,互相关) %正弦波 t=0:0.01:10; y=sin(2*pi*t); subplot(4,1,1) %t图幅分为4行一列,画第一个 plot(t,y) title('正弦信号') %标题 xlabel('t'); %x轴 ylabel('y') %y轴 axis([0 11 -1.2 1.2]);%输出坐标范围 Fengzhi=max(y) Fengfengzhi=max(y)-min(y) Junzhi=mean(y) Junfangzhi=mean(y.*y) Junfanggen=norm(y) Fs=100;%采样频率 N=1024;%采样点数 t=0:0.01:10; y=sin(2*pi*t); P=fft(y,N);%进行fft变换 Pyy =2*sqrt(P.* conj(P))/N;%求幅值 f=linspace(0,Fs/2,N/2); subplot(4,1,2) plot(f,Pyy(1:N/2));%画幅值频域图 title('幅频图') xlabel('频率/HZ'); ylabel('振幅') pp=angle(P); %相位弧度 Pp=180/pi*pp;%弧度变角度 subplot(4,1,3) plot(f,Pp(1:N/2)); title('B的相频谱'); xlabel('频率(Hz)'); ylabel('相位(度)'); [a,b]=xcorr(y,'unbiased');%进行自相关 subplot(4,1,4); plot(b*0.001,a); title('自相关') xlabel('时间/s');

连续信号与系统频域分析的MATLAB实现

实验十三 连续信号与系统频域分析的MATLAB 实现 一、实验目的 1. 掌握连续时间信号频谱特性的MATLAB 分析方法; 2.掌握连续系统的频率响应MATLAB 分析方法方法。 二、实验原理 1. 连续时间信号的频谱---傅里叶变换 非周期信号的频谱密度可借助傅里叶变换作分析。傅里叶正变换和逆变换分别为: Matlab 的符号运算工具箱(Symbolic Math Toolbox )提供了能直接求解傅里叶变换和逆变换的符号运算函数fourier()和ifourier()。两函数的调用格式如下。 (1)傅里叶变换 在Matlab 中,傅里变换变换由函数fourier()实现。fourier()有三种调用格式: ① F=fourier(f ) 求时间函数f (t)的傅里叶变换,返回函数F 的自变量默认为w ,即)]([)(t f j F F =ω; ② F=fourier(f ,v ) 求时间函数f (t)的傅里叶变换,返回函数F 的自变量为v ,即)]([)(t f jv F F =; ③ F=fourier(f ,u ,v ) 对自变量为u 的函数f (u )求傅里叶变换,返回函数F 的自变量为v ,即)]([)(u f jv F F =。 (2)傅里叶逆变换 在Matlab 中,傅里变换逆变换由函数ifourier()实现。与函数fourier()相类似,ifourier()也有三种调用格式: ① f=ifourier(F ) 求函数F (j)的傅里叶逆变换,返回函数f 的自变量默认为x ,即)]([)(1 ωj F x f -=F ; ② f=ifourier(F ,u ) 求函数F (j)的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1ωj F u f -=F 。 ③ f=ifourier(F ,v ,u ) 求函数F (j v )的傅里叶逆变换,返回函数f 的自变量为u ,即)]([)(1jv F u f -=F 由于fourier()和ifourier()是符号运算函数,因此,在调用fourier()和ifourier()之前,需用syms 命令对所用到的变量(如t ,u ,v ,w )作说明。举例如下。 例13-1.求单边指数函数)()(2t e t f t ε-=的傅里叶变换,画出其幅频特性和相频特性图。

基于Matlab的FM信号分析

目录 摘要................................................... II 1课程设计的任务与说明.. (1) 2 FM信号的MATLAB仿真设计方案制定 (2) 3 FM信号的MATLAB仿真设计方案的设计 (3) 3.1调制过程 (3) 3.2解调过程 (4) 3.3噪声 (4) 4 FM信号调制解调模型的建立与分析 (5) 4.1 调制模型的建立与分析 (5) 4.1.1 FM调制模型 (5) 4.1.2 调制过程分析 (5) 4.1.3 调制程序 (6) 4.1.4 FM调制仿真波形图 (7) 4.2 解调模型的建立与分析 (10) 4.2.1 FM解调模型 (10) 4.2.2 解调过程分析 (11) 4.2.3 解调程序 (12) 4.2.4 FM解调仿真波形图 (13) 4.3 高斯白噪声信道特性及FM系统抗噪声性能分析 (16) 5.心得体会 (21) 6.参考文献 (22) 附录 (23)

摘要 调制在通信系统中的作用至关重要。通过调制,不仅可以进行频谱搬移,把调制信号的频谱搬移到所希望的位置上,从而将调制信号转换成适合于传播的已调信号,而且它对系统的传输有效性和传输的可靠性有着很大的影响,调制方式往往决定了一个通信系统的性能。FM信号的调制属于频谱的非线性搬移,它的解调也有相干和非相干解调两种方式。 本次课程设计使用的仿真软件为MATLAB,利用MATLAB集成环境下的M文件,编写程序来实现FM信号的仿真分析,并分别绘制出基带信号、载波信号、已调信号的时域波形和频域波形;再进一步分别绘制出对已调信号叠加噪声后信号、同步解调前信号和解调后基带信号的时域波形;最后绘出FM基带信号调制和解调系统后的输入输出信噪比的关系,并通过与理论结果波形对比来分析该仿真调制与解调过程的正确性及噪声对FM信号解调的影响,完成对FM调制和解调以及对叠加噪声后解调结果的观察和分析。 关键词: FM 调制与解调 MATLAB 噪声

实验三 用FFT对信号进行频谱分析及MATLAB程序

实验三 用FFT 对信号进行频谱分析 一 实验目的 1 能够熟练掌握快速离散傅立叶变换的原理及应用FFT 进行频谱分析的基本方法; 2了解用FFT 进行频谱分析可能出现的分析误差及其原因; 二 实验原理 1、用DFT 对非周期序列进行谱分析 单位圆上的Z 变换就就是序列的傅里叶变换,即 ()()j j z e X e X z ωω== (3-1) ()j X e ω就是ω的连续周期函数。对序列()x n 进行N 点DFT 得到()X k ,则()X k 就是在区间[]0,2π上对()j X e ω的N 点等间隔采样,频谱分辨率就就是采样间隔2N π。因此序列的傅里叶变换可利用DFT(即FFT)来计算。 用FFT 对序列进行谱分析的误差主要来自于用FFT 作频谱分析时,得到的就是离散谱,而非周期序列的频谱就是连续谱,只有当N 较大时,离散谱的包络才能逼近连续谱,因此N 要适当选择大一些。 2、用DFT 对周期序列进行谱分析 已知周期为N 的离散序列)(n x ,它的离散傅里叶级数DFS 分别由式(3-2)与(3-3) 给出: DFS: ∑-=-=1 2)(1N n kn N j k e n x N a π , n =0,1,2,…,N -1 (3-2) IDFS: ∑-==1 02)(N k kn N j k e a n x π , n =0,1,2,…,N -1 (3-3) 对于长度为N 的有限长序列x (n )的DFT 对表达式分别由式(3-4)与(3-5)给出: DFT: ∑-=-=1 02)()(N n kn N j e n x k X π , n =0,1,2,…,N -1 (3-4) IDFT: ∑-==1 02)(1)(N k kn N j e k X N n x π , n =0,1,2,…,N -1 (3-5) FFT 为离散傅里叶变换DFT 的快速算法,对于周期为N 的离散序列x (n )的频谱分析便可由式(3-6)与(3-7)给出:

相关文档
相关文档 最新文档