求绘制系统带有Gershgorin带的逆Nyquist图的matlab绘制伯德图代码。

温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
------------------
估计可能是由于WAV文件的采样率与你使用WAVPLAY命令时设置的采样率不同,而导致节奏变慢和音调变高,情况就好像你以前用复读机播放音乐时,按 “慢进”时,播放速度变慢,同时音调变低,当“快进”时,播放速度变快,同时音调变高;使用wavplay命令可以设置采样率的Fs,默认时Fs 是11025 Hz,更多的资料可以在MATLAB里输入help wavplay 后看到。例如:已知WAV文件的采样率为11025Hz,当 Fs设置为11025Hz,WAV文件就会按正常速度播放。当Fs=Hz,WAV文件就会按慢一倍速度播放,音调变低;当 Fs=11025*2Hz,WAV文件就会按快一倍速度播放,音调变高;
分析和处理音频信号,首先要对声音信号进行采集,MATLAB 的数据采集工具箱提供了一整套命令和函数,通过调用这些函数和命令,可直接控制声卡进行数据采集[1]。Windows自带的录音机程序也可驱动声卡来采集语音信号,并能保存为WAV格式文件,供MATLAB相关函数直接读取、写入或播放。本文以WAV格式音频信号作为分析处理的输入数据,用MATLAB 处理音频信号的基本流程是:先将WAV格式音频信号经wavread 函数转换成MATLAB列数组变量;再用MATLAB强大的运算能力进行数据分析和处理,如时域分析、频域分析、数字滤波、信号合成、信号变换、识别和增强等等;处理后的数据如是音频数据,则可用wavwrite转换成WAV格式文件或用sound、wavplay等函数直接回放。下面分别介绍 MATLAB在音量标准化、声道分离合并与组合、数字滤波、数据转换等音频信号处理方面的技术实现。      3 音量标准化      录制声音过程中需对声音电平进行量化处理,最理想的量化是最大电平对应最高量化比特,但实际却很难做到,常有音轻问题。利用MATLAB很容易实现音量标准化,即最大电平对应最高量化比特。基本步骤是:先用wavread函数将WAV文件转换成列数组变量;再求出数组变量的极值并对所有元素作归一化处理;最后用wavwrite函数还原成音量标准化的WAV文件。   例1:现以微软自带的“Windows XP 关机.wav”音频信号为例,先将其复制另存到文件名为XPexit.wav的MATLAB当前目录中,再通过音量标准化处理后保存为 XPquit.wav文件。实现程序如下:      [Y,FS,NBITS]=wavread('XPexit.WAV');% 将WAV文件转换成变量 FS,NBITS,% 显示采样频率和量化比特   Ym=max(max(max(Y)),max(abs(min(Y)))),% 找出双声道极值   X=Y/Ym;% 归一化处理   wavwrite(X,FS,NBITS,'XPquit.wav')% 将变量转换成WAV文件   试听可知标准化处理后音量稍大。      4 声道分离合并与组合      立体声或双声道音频信号有左右两个声道,利用MATLAB实现双声道分离、两路声道合并和两个单声道组合成一个双声道等效果,实际上是利用了 MATLAB的矩阵抽取、矩阵相加和矩阵重组运算。   例2:现以例1生成的XPquit.wav为例,实现分离、合并和组合处理的程序如下:      [x,FS,NBITS]=wavread('XPquit.WAV');% 将WAV文件转换成变量   x1=x(:,1);% 抽取第1声道   x2=x(:,2);% 抽取第2声道   wavwrite(x1,FS,NBITS,'XPquit1.WAV');% 实现1声道分离   wavwrite(x2,FS,NBITS,'XPquit2.WAV');% 实现2声道分离   %如果合并位置不对前面补0 %声道长度不对后面补0   x12=x1+x2;% 两路单声道列向量矩阵变量合并   x12m=max(max(x12),abs(min(x12))),% 找出极值   y12=x12./x12m;% 归一化处理   wavwrite(y12,FS,NBITS,'XPquit12.WAV');% 实现两路声道合并   %如果组合位置不对前面补0--声道长度不对后面补0   x3=[x1,x2];% 两路单声道变量组合   wavwrite(x3,FS,NBITS,'XPquit3.WAV');% 实现两路声道组合   可以试听声道分离、合并与组合的效果,也可对各文件大小进行比较。      5 数字滤波      数字滤波是常用的音频处理技术。可根据技术指标,先利用FDATool工具,设计一个数字滤波器[2],再用Filter或Filter2函数即可实现滤波处理。调用的Filter函数格式是:Y = filte (B,A,X) 。其中,B和A是滤波器传输函数的分子和分母系数,X是输入变量,Y是实现滤波后的输出变量。如果处理立体声音频信号,可分开处理,但用FIR滤波器时调用Filter2函数更方便。   例3:现以例2生成的XPquit12.wav为例,实现数字滤波的程序如下:      [X,FS,NBITS]=wavread('XPquit12.WAV');% 将WAV文件转换成变量   %利用FDATool设计一个LowpassButterworth滤波器   %指标FS=22050Hz Fp=1000Hz Ap=1dB Fs=3000Hz As=20dB   B =[0.7,0.2];% 分子系数    未安装PDF浏览器用户请先下载安装原版页码:13原版全文  A =[1,-2.7,-0.4312];% 分母系数   Y=filter(B,A,X);% 实现数字滤波   t=(0:length(X)-1)/FS;% 计算数据时刻   subplot(2,2,1);plot(t,X);% 绘制原波形图   title('原信号波形图');% 加标题   subplot(2,2,3);plot(t,Y);% 绘制滤波波形图   title('滤波后波形图');% 加标题   xf=fft(X);% 作傅里叶变换求原频谱   yf=fft(Y);% 作傅里叶变换求滤波后频谱   fm=3000*length(xf)/FS;% 确定绘频谱图的上限频率   f=(0:fm)*FS/length(xf);% 确定绘频谱图的频率刻度   subplot(2,2,2);plot(f,abs(xf(1:length(f))));% 绘制原波形频谱图 title('原信号频谱图');% 加标题   subplot(2,2,4);plot(f,abs(yf(1:length(f))));% 绘制滤波后频谱图   title('滤波后信号频谱图');% 加标题   wavwrite(Y,FS,NBITS,'XPquitFilter.WAV');% 写成WAV文件   程序运行结果如图1所示。由图可知,滤波对波形影响不大,但对高频有较大衰减。试听会感觉到处理后的声音比较沉闷。      6 数据转换      数据转换是指改变音频格式中的采样频率或量化位数。转换原理是:先用矩阵插值或抽取技术实现变量变换,如果是抽取数据还需在变换前作滤波处理使之满足采样定理;变量变换完成后再用Wavwrite函数重新定义量化 位数和采样频率即可实现数据转换。数据转换过程中,要注意采样频率与原始采样频率及插值或抽取系数的关系。MATLAB实现插值或抽取的函数有decimate、interp和resample,具体应用可参考有关文献[3]。这果以2倍抽取为例,将例3中经过滤波后产生的XPquitFilter.WAV文件进行数据转换处理。具体程序如下:      [x,FS,NBITS]=wavread('XPquitFilter.WAV');% 将WAV文件转换成变量   N=length(x);% 计算数据点数   % 不是偶数点化成偶数点   if mod(N,2)==0; N=N; else x(N)=[]; N=N-1;   % 原信号波形频谱分析   tx=(0:N-1)/FS;% 计算原信号数据点时刻   subplot(3,2,1);plot(tx,x);% 绘制原信号波形   title('原信号波形图');% 加标题   xf=fft(x);% 求原信号频谱   fx=(0:N/2)*FS/N;% 确定频谱图频率刻度   subplot(3,2,2);plot(fx,abs(xf(1:N/2+1)));% 绘制原信号频谱   title('原信号频谱图');% 加标题   % 实现数据抽取   k=[1:N/2];% 确定抽取位置   y=x(2*k);% 实现抽取后的数据   M=length(y);% 计算抽取后数据点数   % 抽取数据在原采样频率FS下的波形频谱分析   ty=(0:M-1)/FS;% 计算数据点时刻   subplot(3,2,3);plot(ty,y);% 绘制信号波形图   title('原采样率下新波形图');% 加标题   yf=fft(y);% 求频谱   fy=(0:M/2)*FS/M;% 确定频谱图频率刻度   subplot(3,2,4);plot(fy,abs(yf(1:M/2+1)));% 绘制频谱图   title('原采样率下新频谱图');% 加标题   % 抽取数据在FS/2采样频率下的波形频谱分析   tz=(0:M-1)/(FS/2);% 计算数据点时刻   subplot(3,2,5);plot(tz,y);% 绘制信号波形图   title('新采样率下新波形图');% 加标题   fz=(0:M/2)*(FS/2)/M;% 确定频谱图频率刻度   subplot(3,2,6);plot(fz,abs(yf(1:M/2+1)));% 绘制频谱图   title('新采样率下新频谱图');% 加标题   % 实现数据转换   wavwrite(y,FS/2,NBITS,'XPquit16B.WAV');% 音频格式PCM 11025Hz 16位   wavwrite(y,FS/2,NBITS/2,'XPquit8B.WAV');% 音频格式PCM 11025Hz 8位   运行程序,在得到的图形窗口中,执行Edit/Axes Properties…命令,再把各分图下X标签中的Limits设为0、0.01和0、1000,得到0—0.01秒的波形和0—1000Hz的频谱如图2所示。由图可知,在满足采样定律条件下,实现数据抽取,在原采样率下波形变密、频谱变宽且幅度减半,但在新采样率下波形和频谱都很好。通过试听输出文件还可感受处理效果。
7 结束语      MATLAB提供了许多专用工具箱,灵活利用这些工具箱和函数,可以实现很多信号处理任务。同时,MATLAB还支持用户对其函数进行二次开发,以满足不同要求。在信号处理过程中,MATLAB兼顾了专用工具软件的简单性和计算机程序语言的灵活性,特别是处理效果的可视性和可感知,有利于理解信号处理的本质,有利于激发学习和研究兴趣,也有利于培养MATLAB软件的操作技能。      参考文献:   [1] 陈宇锋.基于声卡和MATLAB的语音信号采集和处理[J].中国现代教育装备,-51.   [2] 张登奇.基于MATLAB的IIR数字滤波器设计[J].湖南理工学院学报,-29.   [3] Sanjit K.Mitra.数字信号处理
阅读(6486)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'Matlab 语音文件处理',
blogAbstract:' 一、&&&&&&&&&& &&问题的提出: 数字语音是信号的一种,我们处理数字语音信号,也就是对一种信号的处理,那信号是什么呢? 信号是传递信息的函数。离散时间信号——序列——可以用图形来表示。 按信号特点的不同,信号可表示成一个或几个独立变量的函数。例如,图像信号就是空间位置(二元变量)的亮度函数。一维变量可以是时间,也可以是其他参量,习惯上将其看成时间。信号有以下几种: (1)连续时间信号:在连续时间范围内定义的信号,但信号的幅值可以是连续数值,也可以是离散数值。当幅值为连续这一特点情况下又常称为模拟信号。实际上连续时间信号与模拟信号常常通用,用以说明同一信号。 (2)离时间信号:时间为离散变量的信号,即独立变量时间被量化了。而幅度仍是连续变化的。',
blogTag:'',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:0,
publishTime:6,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:5,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'0',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}您所在位置: &
&nbsp&&nbsp&nbsp&&nbsp
基于MATLAB控制系统稳定性的分析.doc29页
本文档一共被下载:
次 ,您可免费全文在线阅读后下载本文档
文档加载中...广告还剩秒
需要金币:150 &&
你可能关注的文档:
··········
··········
四川师范大学本科毕业设计
基于MATLAB的控制系统稳定性分析
学生姓名 宋宇
院系名称 工学院
专业名称 电气工程及其自动化
2010 级 1 班
号 座机电话号码47
指导教师 杨楠
完成时间 2014年
基于MATLAB的控制系统稳定性分析
电气工程及其自动化
指导老师 杨楠
系统是指具有某些特定功能,相互联系、相互作用的元素的集合。一般来说,稳定性是系统的重要性能,也是系统能够正常运行的首要条件。如果系统是不稳定,它可以使电机不工作,汽车失去控制等等。因此,只有稳定的系统,才有价值分析与研究系统的自动控制的其它问题。为了加深对稳定性方面的研究,本设计运用了MATLAB软件采用时域、频域与根轨迹的方法对系统稳定性的判定和分析。
关键词:系统稳定性
MATLAB稳定性分析
System is to point to have certain function, connect with each other, a collection of interacting elements. Generally speaking, the stability is an important performance of system, also is the first condition of system can run normally. If the system is not stable, it could lead to motor cannot work normally, the car run out of control, and so on. Only the stability of the system, therefore, have a value analysis and the research system of the automatic control of other problems. In order to deepen the study of stability, this design USES the MATLAB software using the time domain, frequency domain and the root locus method determination and analysis of the system stability.
Keywords: system stability
MATLAB stability analysis
ABSTRACT II
1.1自动控制理论发展概述 1
1.1.1经典控制理论的发展及其基本内容 1
1.1.2现代控制理论的发展及其基本内容 1
1.1.3智能控制理论的发展及其主要内
正在加载中,请稍后...基于MATLAB GUI的控制系统界面设计界面,系统,设计,控制系统,GUI,界面设计,..
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
基于MATLAB GUI的控制系统界面设计
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口 下载
 收藏
该文档贡献者很忙,什么也没留下。
 下载此文档
正在努力加载中...
【精品】MATLAB绘制自控图像及分析
下载积分:850
内容提示:
文档格式:PPT|
浏览次数:1|
上传日期: 00:21:30|
文档星级:
该用户还上传了这些文档
下载文档:【精品】MATLAB绘制自控图像及分析.PPT
官方公共微信MATLAB 在Nyquist图绘制中的应用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
9页免费4页3下载券2页免费2页¥1.0011页3下载券2页2下载券11页3下载券2页3下载券2页免费
喜欢此文档的还喜欢9页免费2页免费3页免费95页5下载券24页1下载券
MATLAB 在Nyquist图绘制中的应用|M​A​T​L​A​B​,​绘​图
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 matlab绘制伯德图 的文章

 

随机推荐