利用MATLAB仿真多普勒效应_第1页
利用MATLAB仿真多普勒效应_第2页
利用MATLAB仿真多普勒效应_第3页
利用MATLAB仿真多普勒效应_第4页
利用MATLAB仿真多普勒效应_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

用MATLAB模拟多普勒效应某选择:多普勒效应特性分析、建立数学模型、使用MATLAB软件进行模拟测试、定量分析、根据模拟测试结果绘制听众收到的信号的频率变化曲线、用信号处理工具箱函数spectrogram绘制的时间频率图以及相应的声音生成。关键字:Doppler effect MATLAB/Simulink0研究背景多普勒效应在出生于德国的奥地利物理学家多普勒(Johann Doppler 1802 1853)发现。1845年,荷兰气象学家巴斯巴洛测量了声音的多普勒效应。一辆车从我们身边急驶而过,汽车喇叭的音调从高到低突然变了。站在铁路旁听火车的汽笛声也表明,当列车快速靠近时音调更静的时候音调更高,而快速离开时音调更静的时候音调更低。这是日常生活中多普勒效应的例子。天文、通信等领域也有很多例子。当保源或观测者相对于介质运动时,或当保源和观测者相对运动时,观测者接收的振动频率与保源振动频率不同的现象称为多普勒效应。多普勒效应的讨论通常仅限于声源或听者在同一直线上运动的情况。当声源或听者在同一直线上不移动时,接收频率变化更为复杂,听者接收到的信号波形方程也很难用分析公式表示。MATLA具有强大的数值计算和模拟功能和图形技术。本文从MATLAB编程的角度,应用MATLAB的Simulink模拟测试方法,构建模拟测试环境,分析声源和听者不在同一直线上移动时产生的多普勒效应特性,生成优秀的模拟,实现多普勒效应的验证,绘制听众接收到的信号的频率变化曲线,用信号处理工具箱函数spectrogram绘制时间频率,并生成相应的声音。1基本原理以下公式说明了多普勒效应现象的各种物理量之间的定量关系。(1-1)其中F0是声源发出的声音频率。v是听众和声源的相对运动速度。是速度矢量与声源和听者之间的连接角度。为了Vs声音在空气中传播的速度,f是听者听到的声音频率。2理论模型多普勒效应将声源的水平距离设定为,以v的速度向听者径直前进哇,其轨迹与听众的最小距离是垂直距离y,声源的频率为F0。查找听者收到的信号频率变化曲线和信号处理工具箱函数spEctrogram绘制的时间频率图声音。3模拟测试以下是使用MATLAB m文件按照公式(1-1)原则创建的程序(1-1)。生成一个声音文件,描述当火车到达距铁路30米(垂直距离)、距火车150(水平距离)的听众时他听到的声音,称为dopp.wav的多普勒效果。将u1发送到图3-1所示的Simulink模拟系统,再次听到该声音,并通过频谱分析器显示声音频率随时间的变化。表3-1和表3-2提供了模拟系统中两个模块的主要参数设置。表3-1 From Multimedia File的主要参数模块名From Multimedia File位置DSP系统工具箱/signal processing sources多人叫参数值File name(文件名)Dopp.wavSamples per output frame(输出每帧的采样值数)1024表3-2“To Audio Device(扬声器)”的主要参数模块名To Audio Device位置DSP系统工具箱/signal processing sinks多人叫参数值设备DefaultQueue duration(seconds)(队列延迟)1automatically determine buffer size(自动确定缓冲区长度)选择图3-1显示了声音信号(多普勒效应)的仿真系统模型程序1-1%多普勒效应程序X0=150%mV=50%速度m/sY0=30%mC=330%空气中声音的速度m/sF0=2000%声音的频率HzFs=8000%取样频率t=0333691/fs :6;%规定了t的范围和步进x _ t=-x0 v . * t;%火车和观察者的水平距离Y=y0%火车和观察者的垂直距离r=sqrt(x _ t . 2y . 2);%火车和观察者之间的距离costheta=x _ t ./r;%声速矢量与火车和听众之间连接角度的馀弦F=f0。/(1 v.*costheta ./c);听众%收到的频率fmin=min(f);fmax=max(f);Voltage=(f-fmin)。/(fmax-fmin)* 2-1;%规范化的调频电压在-1到1之间1Signal=0.5 * VCO (voltage,fmin fmax,fs);用输入电压控制输出信号频率的%电压控制振动器u=sin(2 * pi * F0 * t);%声源发出的信号Sound(u,fs);%播放声源发出的信号2pause(5);暂停%3Sound(signal,fs);播放听众%收到的信号4Wavwrite(signal、fs、dopp . wav);%音频数据内存5figure(1);Plot(t,f);xlabel(Time/s);ylabel(Freq/Hz);%创建听众收到的信号的频率变化曲线figure(2);Specrogram (signal、Kaiser (256、5)、220、512、fs、yaxis);%创建时间频率图形6Axis (0 6,1000,specro 3000)程序难点分析1可以存储在计算机上的数字序列,即模拟信号,必须经过采样和量化,并转换为相应的数字信号,才能在计算机上存储和处理。模拟音频信号和数字音频信号之间的转换模块是音频信号,MATLAB易于配置输入/输出参数,如采样频率。给我听火车停下时的汽笛声。使用声音命令以设置的采样率将数字序列输出到声卡,然后通过声卡转换为模拟音频信号。“sound”的用法如下:声音(y,fs);其中y是数字序列(单声道输出),必须位于第n行1列中,范围为-1,1。Fs是设置为支持普通声卡上的5000Hz到441000Hz的采用速度。3此处暂停需要足够的时间重新打开与计算机硬件相关的声音系统。静态听众听到移动的火车的汽笛声。5 MATLAB可以录制的音频信号为“* .wav”格式直接保存。“wavwrite(y,Fs, Filename );使用命令。您可以将向量y储存为取样频率为Fs的wav音讯档案。6另一函数发生器(VCO)是根据输入矢量确定冲击频率信号的电压控制振荡器(VCO)。在这里绘制产生信号的光谱。频域测量仪(频谱分析器Spectrum Scope)计算机模拟中的光谱仪使用数字信号处理的快速傅立叶变换(FFT)技术,该技术将数据流从时域转换到频域。将时间区域中的数据流删除为一个段。FFT size(快速傅立叶变换的长度)由n确定,n通常需要2的幂。还必须设置相应长度的“Buffer Size(缓存)”。n的大小(即时窗口的长度)决定了频谱分析器的分辨率,n越大,频率的分辨率越高,但相应的计算时间越长。希望正在研究的光谱线内容出现在频谱分析器显示窗口的中间部分,以便于观察和分析,可以看到位于频率轴上的线条的低端和高端。为此,将输入信号的采样频率用作估计频率显示窗口最大值的两倍即可。分光镜的取样频率必须与正在测量的信号的取样频率一致。4模拟结果和分析(1)模拟结果如图4-1所示:m文件程序运行结束时绘制的听众接收信号的频率变化曲线。如图4-2所示,使用信号处理工具箱函数spectrogram绘制的时间频率图。如图4-3所示:在特定时间点的模拟系统的频谱分析器中显示的功率谱。图4-1听众收到的信号的频率变化曲线图4-2小时频率图(Swept-Frequency Waveforms)T=0sT=3sT=6s图4-3频谱分析器显示屏分析结果傅立叶变换将各种形式的信号表示为正弦信号,因此通过傅立叶变换非正弦信号,与原始信号频率不同的组件将成为原始信号频率的整数倍。这些高频信号用于修改频率与原始信号相同的正弦信号,使其接近原始信号。因此,光谱中最低频率的峰值(往往是最高振幅)是原始信号频率。如上所述,听者收到的信号的频率比原来的警报器高,频率比原来的警报器低。5结束语在MATLAB/Simulink中,可以轻松地从数学模型转换为计算机模拟模型。本文将Simulink与m文件编程相结合,兼具图形界面的直观功能和文字界面的强大功能。实际上,所有Simulink的模块和系统构建、模拟参数等都可以通过编程语句实现。为了防止声源或听者在同一直线上不移动的情况,使用MATLAB/Simulink软件进行了模

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论