文档库 最新最全的文档下载
当前位置:文档库 › Matlab绘制等高线图及饼状图

Matlab绘制等高线图及饼状图

Matlab绘制等高线图及饼状图
Matlab绘制等高线图及饼状图

绘制着色的三维等高线图[X,Y]=meshgrid([-5:0.5:5]); Z=sqrt(X.^2+Y.^2);

surfc(X,Y,Z)

程序的运行结果

绘制三维饼状图的源程序

x=[2,4,6,8];

pie3(x,[0,0,1,0]);

title('三维饼状图')

绘制三维饼状图的结果

源程序如下

x=[9,7,6,7];

pie3(x,[0,0,1,0]); title('三维饼状图') 程序运行结果

(完整版)MATLAB常用函数大全

一、MATLAB常用的基本数学函数 abs(x):纯量的绝对值或向量的长度 angle(z):复数z的相角(Phase angle) sqrt(x):开平方 real(z):复数z的实部 imag(z):复数z的虚部 conj(z):复数z的共轭复数 round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示 rats(x):将实数x化为多项分数展开 sign(x):符号函数(Signum function)。 当x<0时,sign(x)=-1; 当x=0时,sign(x)=0; 当x>0时,sign(x)=1。 rem(x,y):求x除以y的馀数 gcd(x,y):整数x和y的最大公因数 lcm(x,y):整数x和y的最小公倍数 exp(x):自然指数 pow2(x):2的指数 log(x):以e为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数 二、MATLAB常用的三角函数 sin(x):正弦函数 cos(x):余弦函数

tan(x):正切函数 asin(x):反正弦函数 acos(x):反馀弦函数 atan(x):反正切函数 atan2(x,y):四象限的反正切函数 sinh(x):超越正弦函数 cosh(x):超越馀弦函数 tanh(x):超越正切函数 asinh(x):反超越正弦函数 acosh(x):反超越馀弦函数 atanh(x):反超越正切函数 三、适用於向量的常用函数有: min(x): 向量x的元素的最小值 max(x): 向量x的元素的最大值 mean(x): 向量x的元素的平均值 median(x): 向量x的元素的中位数 std(x): 向量x的元素的标准差 diff(x): 向量x的相邻元素的差 sort(x): 对向量x的元素进行排序(Sorting)length(x): 向量x的元素个数 norm(x): 向量x的欧氏(Euclidean)长度sum(x): 向量x的元素总和 prod(x): 向量x的元素总乘积 cumsum(x): 向量x的累计元素总和cumprod(x): 向量x的累计元素总乘积 dot(x, y): 向量x和y的内积 cross(x, y): 向量x和y的外积 四、MATLAB的永久常数

Matlab中Bode图的绘制技巧(精)

Matlab中Bode图的绘制技巧 我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。 譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。 我们可以用下面的语句: num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den; bode(H 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。 下面,我们来看看如何定制我们自己的伯德图风格: 在命令窗口中输入:bodeoptions

我们可以看到以下内容:ans = Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct] TickLabel: [1x1 struct] Grid: 'off' XLim: {[1 10]} XLimMode: {'auto'} YLim: {[1 10]} YLimMode: {'auto'} IOGrouping: 'none' InputLabels: [1x1 struct] OutputLabels: [1x1 struct] InputVisible: {'on'} OutputVisible: {'on'} FreqUnits: 'rad/sec' FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear' MagVisible: 'on' MagLowerLimMode: 'auto' MagLowerLim: 0 PhaseUnits: 'deg' PhaseVisible: 'on' PhaseWrapping: 'off'

(完整版)matlab函数大全(非常实用)

信源函数 randerr 产生比特误差样本 randint 产生均匀分布的随机整数矩阵 randsrc 根据给定的数字表产生随机矩阵 wgn 产生高斯白噪声 信号分析函数 biterr 计算比特误差数和比特误差率 eyediagram 绘制眼图 scatterplot 绘制分布图 symerr 计算符号误差数和符号误差率 信源编码 compand mu律/A律压缩/扩张 dpcmdeco DPCM(差分脉冲编码调制)解码dpcmenco DPCM编码 dpcmopt 优化DPCM参数 lloyds Lloyd法则优化量化器参数 quantiz 给出量化后的级和输出值 误差控制编码 bchpoly 给出二进制BCH码的性能参数和产生多项式convenc 产生卷积码 cyclgen 产生循环码的奇偶校验阵和生成矩阵cyclpoly 产生循环码的生成多项式 decode 分组码解码器 encode 分组码编码器 gen2par 将奇偶校验阵和生成矩阵互相转换gfweight 计算线性分组码的最小距离 hammgen 产生汉明码的奇偶校验阵和生成矩阵rsdecof 对Reed-Solomon编码的ASCII文件解码rsencof 用Reed-Solomon码对ASCII文件编码rspoly 给出Reed-Solomon码的生成多项式syndtable 产生伴随解码表 vitdec 用Viterbi法则解卷积码 (误差控制编码的低级函数) bchdeco BCH解码器 bchenco BCH编码器 rsdeco Reed-Solomon解码器 rsdecode 用指数形式进行Reed-Solomon解码 rsenco Reed-Solomon编码器 rsencode 用指数形式进行Reed-Solomon编码 调制与解调

matlab 函数大全

matlab 函数大全 信源函数 randerr 产生比特误差样本 randint 产生均匀分布的随机整数矩阵 randsrc 根据给定的数字表产生随机矩阵 wgn 产生高斯白噪声 信号分析函数 biterr 计算比特误差数和比特误差率 eyediagram 绘制眼图 scatterplot 绘制分布图 symerr 计算符号误差数和符号误差率 信源编码 compand mu律/A律压缩/扩张 dpcmdeco DPCM(差分脉冲编码调制)解码dpcmenco DPCM编码 dpcmopt 优化DPCM参数 lloyds Lloyd法则优化量化器参数 quantiz 给出量化后的级和输出值 误差控制编码 bchpoly 给出二进制BCH码的性能参数和产生多项式convenc 产生卷积码 cyclgen 产生循环码的奇偶校验阵和生成矩阵cyclpoly 产生循环码的生成多项式 decode 分组码解码器 encode 分组码编码器 gen2par 将奇偶校验阵和生成矩阵互相转换gfweight 计算线性分组码的最小距离 hammgen 产生汉明码的奇偶校验阵和生成矩阵rsdecof 对Reed-Solomon编码的ASCII文件解码rsencof 用Reed-Solomon码对ASCII文件编码rspoly 给出Reed-Solomon码的生成多项式

syndtable 产生伴随解码表 vitdec 用Viterbi法则解卷积码 (误差控制编码的低级函数) bchdeco BCH解码器 bchenco BCH编码器 rsdeco Reed-Solomon解码器 rsdecode 用指数形式进行Reed-Solomon解码 rsenco Reed-Solomon编码器 rsencode 用指数形式进行Reed-Solomon编码 调制与解调 ademod 模拟通带解调器 ademodce 模拟基带解调器 amod 模拟通带调制器 amodce 模拟基带调制器 apkconst 绘制圆形的复合ASK-PSK星座图 ddemod 数字通带解调器 ddemodce 数字基带解调器 demodmap 解调后的模拟信号星座图反映射到数字信号dmod 数字通带调制器 dmodce 数字基带调制器 modmap 把数字信号映射到模拟信号星座图(以供调制)qaskdeco 从方形的QASK星座图反映射到数字信号qaskenco 把数字信号映射到方形的QASK星座图 专用滤波器 hank2sys 把一个Hankel矩阵转换成一个线性系统模型hilbiir 设计一个希尔伯特变换IIR滤波器 rcosflt 升余弦滤波器 rcosine 设计一个升余弦滤波器 (专用滤波器的低级函数) rcosfir 设计一个升余弦FIR滤波器 rcosiir 设计一个升余弦IIR滤波器

MATLAB中bode图绘制技巧(精)

Matlab中Bode图的绘制技巧学术收藏2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。我们可以用下面的语句:num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den; bode(H 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。下面,我们来看看如何定制我们自己的伯德图风格:在命令窗口中输入:bodeoptions 我们可以看到以下

内容:ans = Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct]TickLabel: [1x1 struct]Grid: 'off' XLim: {[1 10]}XLimMode: {'auto'}YLim: {[1 10]} YLimMode: {'auto'}IOGrouping: 'none'InputLabels: [1x1 struct]OutputLabels: [1x1 struct]InputVisible: {'on'} OutputVisible: {'on'}FreqUnits: 'rad/sec'FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear'MagVisible: 'on' MagLowerLimMode: 'auto'MagLowerLim: 0PhaseUnits: 'deg'PhaseVisible: 'on'PhaseWrapping: 'off' PhaseMatching: 'off'PhaseMatchingFreq: 0 PhaseMatchingValue: 0我们可以通过修改上面的每一 项修改伯德图的风格,比如我们使用下面的语句画我 们的伯德图:P=bodeoptions;P.Grid='on'; P.XLim={[10 40000]};P.XLimMode={'manual'};P.FreqUnits='HZ'; num=[1.576e010 0 0];den=[1 1.775e005 1.579e010 2.804e012 2.494e014];H=tf(num,den; bode(H,P 这时,我们将会看到以下的伯德图: 上面这张图相对就比较好了,它的横坐标单位 是HZ,范围是[10 40K]HZ,而且打开了网格,便于我 们观察-3DB处的频率值。当然,你也可以改变bodeoptions中的其它参数,做出符合你的风格的伯

典型环节的Bode图资料

典型环节的B o d e图

控制系统的开环频率特性 目的:掌握开环Bode图的绘制 根据Bode图确定最小相位系统的传递函数 重点:开环Bode图的绘制、根据Bode图确定最小相位系统的传递函数 1 开环伯德图手工作图的一般步骤: 1)将开环传递函数表示为时间常数表达形式,计算各个典型环节的交接频率 2)求20lgK的值,并明确积分环节的个数ν3)通过(1,20lgK)绘制斜率为-20vdB/dec 低频段 4)随着频率增加,每遇到一个典型环节的交接频率,就改变一次斜率 最小相位系统定义:递函数的零点、极点全部位于S 左半平面,同时又无纯滞后环节的系统称为最小相位系统。否则就是非最小相位系统。 对数幅频特性与相频特性之间存在确定的对应关系。对于一个最小相位系统,我们若知道了其幅频特性,它的相频特性也就唯一地确定了。也就是说:只要知道其幅频特性,就能写出此最小相位系统所对应的传递函数,而无需再画出相频特性。 非最小相位系统高频时相角迟后大,起动性能差,响应缓慢。对响应要求快的系统,不宜采用非最小相位元件。 Tf函数用来建立实部或复数传递函数模型或将状态方程、或零级增益模型转化成传递函数形式。sys = tf(num,den)命令可以建立一个传递函数,其中分子和分母分别为num和den。输出sys是储存传递函数数据的传递函数目标。单输入单输出情况下,num和den是s的递减幂级数构成的实数或复数行向量。这两个向量并不要求维数相同。如h = tf([1 0],1)就明确定义了纯导数形式h(s)=s。若要构建多输入多输出传递函数,要分别定义每一个单输入单输出系统的端口的分子与分母。 2 典型环节的伯德图 绘制曲线在MATLAB中实现,利用下述的程序段: num=[b2 b1 b0]; den=[1 a2 a1 a0];H=tf(num,den); bode(H) margin(H) hold on 2.1 比例环节 传递函数:() G s K = 频率特性:() G j K ω= 对数幅频特性:()20lg L j K ω= 对数相频特性:()0 ?ω= 程序段: num=[0 10]; den=[0 1]; H=tf(num,den); bode(H) margin(H) hold on 结论:放大环节的对数幅频特性是一条幅值为20lgK分贝,且平行于横轴的直线,相频特性是一条和横轴重合的直线。 K>1时,20lgK>0dB;K<1时,20lgK<0dB。2.2 惯性环节(低通滤波特性) 传递函数:1 () 1 G s sτ = + 频率特性:() ()()j G j A e?ω ωω = 对数幅频特性: 2 () 1() Lω τω = + 对数相频特性:()arctan ?ωτω =- 绘制1 () 10.1 G s s = + 的Bode图 程序段: num=[0 1]; den=[0.1 1];H=tf(num,den); bode(H) margin(H) hold on

使用simulink bode图的绘制

在Matlab中,大多时候,我们都是用M语言,输入系统的传递函数后,用bode函数绘制bode图对系统进行频率分析,这样做,本人觉得效率远不如Simulink建模高。如何在Matlab/Simulink中画bode图,以前也在网上查过些资料,没看到太多有用的参考。今天做助教课的仿真,又要画电机控制中电流环的bode图,模型已经建好,step response也很容易看出来,可这bode图怎么也出不来,又不愿意用m语言写出传递函数再画。baidu和google 了好一阵,几乎没有一个帖子说的清清楚楚的,经过一番摸索,终于掌握了Simulink里画bode图的方法。.其实,Simulink里画bode图,非常的easy,也很方便。写此文的目的是希望对那些常用Simulink进行仿真希望画bode图又不愿用M语言的新手有所帮助。 以下均是以Matlab R2008a为例。 首先,在simulink里建好model。如图1,这里需要注意的是,输入和输出要用input port 和output port,这样以后画bode图的时候,系统就会知道是这两个变量之间的关系。 图1 建好model 其次,选择线性分析。Tools->Control Design ->Linear Analysis。如图2。 图2 选择Linear Ansysis 将出现如图3所示的Control and Estimation Tools Manager窗口。

图3 Control and Estimation Tools Manager窗口 第三步,激动人心的时刻到了,哈哈。如果你是按照前面的步骤来的,那么这时候,你就应该可以直接画出bode图,在窗口的下方,将“Plot linear analysis result in a ”前面的方框打上勾,已打的就不用管了,再在后面的下拉框里选择“bode response plot”,即画output port和input port之间的bode图,再点击“Linearize Model”按钮,就OK了。其实除了bode图,还可以画其他很多响应曲线,比如step response、impulse response和Nyquist图等等,只需选择相应的step response plot,inpulse response plot或者Nyquist plot等等。方法都是相同的。选择选择“bode response plot”,如图4所示。 图4 画出bode图

(完整word版)使用matlab绘制眼图.docx

使用 matlab 绘制数字基带信号的眼图实验 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉 MATLAB语言编程。 二、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1 所示,要获得良好的基带传输系统,就应该 a n t nT s 基带传输a n h t nT s n n抽样判决 H ( ) 图 3-1基带系统的分析模型 抑制码间干扰。设输入的基带信号为a n t nT s, T s为基带信号的码元周期,则经过 n 基带传输系统后的输出码元为a n h t nT s。其中 n h(t )1H ()e j t d(3-1 ) 2 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: ,k 0 h( kT s)(3-2) 0,k为其他整数 频域应满足: T s, T s(3-3) H ( ) 0,其他

H ( ) T s T s T s 图 3-2 理想基带传输特性 此时频带利用率为 2Baud / Hz , 这是在抽样值无失真条件下,所能达到的最高频率利用率。 由于理想的低通滤波器不容易实现, 而且时域波形的拖尾衰减太慢, 因此在得不到严格 定时时,码间干扰就可能较大。在一般情况下,只要满足: 2 i H 2 2 , (3-4) H H ( ) H T s i T s T s T s T s 基带信号就可实现无码间干扰传输。这种滤波器克服了拖尾太慢的问题。 从实际的滤波器的实现来考虑,采用具有升余弦频谱特性 H ( ) 时是适宜的。 1 sin T s ( ) , (1 ) (1 ) 2 T s T s T s H ( ) 1, (1 ) 0 (3-5) T s 0, (1 ) T s 这里 称为滚降系数, 1。 所对应的其冲激响应为: sin t cos( t T s ) h(t ) T s (3-6) t 1 4 2t 2 T s 2 T s 此时频带利用率降为 2 / (1 ) Baud/ Hz ,这同样是在抽样值无失真条件下, 所能达到的最 高频率利用率。换言之,若输入码元速率 R s ' 1/ T s ,则该基带传输系统输出码元会产生码

BODE图 画图过程

电机定位系统校正(BODE图) MATLAB软件具有强大的计算能力和绘图功能,能够快速、准确地做出频域特性曲线。利用MATLAB绘制系统的Bode图,为控制系统设计和分析提供了极大的方便。 1. 创建M-file文挡,并输入如下程序,运行后生成LTI对象my_sys: J=3.2284e-6; b=3.5077e-6; K=0.0274; R=4; L=2.75e-6; num=[0 0 0 K]; den=[(J*K) (J*R+(L*b)) ((b*R)+K^2) 0]; my_sys=tf(num,den); 打开Matlab7.0软件,并新建一个空文档,将程序复制到文档内,如图1所示: 图1 2.运行程序并保存运行结果。如图2所示: 图2

3.打开Start-Toolboxes—Control System—SISO Design Tool。启动SISO Design,如图3所示 图3 4.将my_sys程序导入到SISO Design Tool中,如图4所示 图4

5.在View菜单中,关闭根轨迹显示,只显示开环的Bode图。如图5所示 图5 6. 加积分环节;加零点(60角频率)将各个参数进行积分:空白处右键—Add Pole/Zero—Integrator。如图6所示: 图6

7.在magnitude曲线加零点,然后Analysis菜单下Response to Step Command 指令。如图7所示: 图7 8.在管理反馈界面中,只显示闭环的r与y的关系—LT1 Viewer For SISO Design Tool界面空白处右键—Systems—Closed Loop :r to u (green),如图8所示: 图8

基带信号眼图实验——matlab仿真

基带信号眼图实验——matlab 仿真

————————————————————————————————作者:————————————————————————————————日期: ?

数字基带信号的眼图实验——matla b仿真 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉MATL AB 语言编程。 二、实验预习要求 1、复习《数字通信原理》第七章7.1节——奈奎斯特第一准则内容; 2、复习《数字通信原理》第七章7.2节——数字基带信号码型内容; 3、认真阅读本实验内容,熟悉实验步骤。 三、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该 () n s n a t nT δ-∑() H ω() n s n a h t nT -∑基带传输抽样判决 图3-1?基带系统的分析模型 抑制码间干扰。设输入的基带信号为()n s n a t nT δ-∑,s T 为基带信号的码元周期,则经过基 带传输系统后的输出码元为 ()n s n a h t nT -∑。其中 1 ()()2j t h t H e d ωωωπ +∞ -∞ = ? ?(3-1) 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: 10()0,s k h kT k =?=? ? , 为其他整数 ?? ?(3-2) 频域应满足:

基于MATLAB的QAM 眼图和星座图

南昌大学信息工程学院 《随机信号分析》课程作业 题目:QAM调制信号的眼图及星座图仿真指导老师:虞贵财 作者:毕圣昭 日期:2011-12-05

QAM调制信号的眼图及星座图仿真 1. 眼图 眼图是在数字通信的工程实践中测试数字传输信道质量的一种应用广泛、简单易行的方法。实际上它的一个扫描周期是数据码元宽度1~2倍并且与之同步的示波器。对于二进制码元,显然1和0的差别越大,接受判别时错判的可能性就越小。由于传输过程中受到频带限制,噪声的叠加使得1和0的差别变小。在接收机的判决点,将“1”和“0”的差别用眼图上“眼睛”张开的大小来表示,十分形象、直观和实用。MATLAB工具箱中有显示眼图和星座图的仪器,下面通过具体的例子说明它们的应用。 图1-1所示是MATLAB Toolbox\Commblks中的部分内容,展示了四进制随机数据通过基带QPSK调制、升余弦滤波(插补)及加性高斯白噪声传输环境后信号的眼图。 图1-1 通过QPSK基带调制升余弦滤波及噪声环境后观察眼图的仿真实验系统 图1-2所示是仿真运行后的两幅眼图,上图是I(同相)信号,下图是Q(正交)信号。 图1-2 通过QPSK基带调制及噪声传输环境后观察到的眼图

2. 星座图 星座图是多元调制技术应用中的一种重要的测量方法。它可以在信号空间展示信号所在的位置,为系统的传输特性分析提供直观的、具体的显示结果。 为了是系统的功率利用率、频带利用率得到充分的利用,在特定的调制方式下,在信号空间中如何排列与分布信号?在传输过程中叠加上噪声以后,信号之间的最小距离是否能保证既定的误码率的要求这些问题的研究用星座图仪十分直观方便。多元调制都可以分解为In-phase(同相)分量及Quadrature(正交)分量。将同相分量用我们习惯的二维空间的X轴表示,正交分量用Y轴表示。信号在X-Y平面(同相-正交平面)的位置就是星座图。MATLAB通信系统的工具箱里有着使用方便、界面美观的星座图仪。 图1-3所示是随机数据通过基带QAM调制及噪声环境传输后,观察星座图的仿真系统。 图1-3 通过基带QAM调制及噪声环境传输后观察星座图的仿真系统图1-4所示是运行仿真后的星座图 图1-4 通过基带QAM调制及噪声环境传输后观察到的星座图

使用matlab绘制眼图精编版

使用matlab 绘制数字基带信号的眼图实验 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉MATLAB 语言编程。 二、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该 () n s n a t nT δ-∑() H ω() n s n a h t nT -∑基带传输抽样判决 图3-1 基带系统的分析模型 抑制码间干扰。设输入的基带信号为()n s n a t nT δ-∑,s T 为基带信号的码元周期,则经过 基带传输系统后的输出码元为 ()n s n a h t nT -∑。其中 1()()2j t h t H e d ωωωπ +∞ -∞ = ? (3-1) 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: 10()0,s k h kT k =?=? ? , 为其他整数 (3-2) 频域应满足: ()0,s s T T H πωωω?≤?=? ?? ,其他 (3-3)

ω s T () H ωs T π s T π - 图3-2 理想基带传输特性 此时频带利用率为2/Baud Hz ,这是在抽样值无失真条件下,所能达到的最高频率利用率。 由于理想的低通滤波器不容易实现,而且时域波形的拖尾衰减太慢,因此在得不到严格 定时时,码间干扰就可能较大。在一般情况下,只要满足: 222(),s i s s s s i H H H H T T T T T ππ π π ωωωωω?????? +=-+++=≤ ? ? ??????? ∑ (3-4) 基带信号就可实现无码间干扰传输。这种滤波器克服了拖尾太慢的问题。 从实际的滤波器的实现来考虑,采用具有升余弦频谱特性()H ω时是适宜的。 (1)(1)1sin (),2(1)()1,0(1) 0,s s s s s s T T T T H T T ππαπαωωαπαωωπαω???-+--≤≤??? ??? ?-? =≤≤?? ?+>? ?? (3-5) 这里α称为滚降系数,01α≤≤。 所对应的其冲激响应为: ()222sin cos()()14s s s s t T t T h t t t T T παππα= - (3-6) 此时频带利用率降为2/(1)Baud/Hz α+,这同样是在抽样值无失真条件下,所能达到的最 高频率利用率。换言之,若输入码元速率' 1/s s R T >,则该基带传输系统输出码元会产生码

MATLAB中bode图绘制技巧

Matlab中Bode图的绘制技巧 学术收藏 2010-06-04 21:21:48 阅读54 评论0 字号:大中小订阅 我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。 譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s)= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。) 我们可以用下面的语句: num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den); bode(H) 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。

下面,我们来看看如何定制我们自己的伯德图风格: 在命令窗口中输入:bodeoptions 我们可以看到以下内容: ans = Title: [1x1 struct] XLabel: [1x1 struct] YLabel: [1x1 struct] TickLabel: [1x1 struct] Grid: 'off' XLim: {[1 10]} XLimMode: {'auto'} YLim: {[1 10]} YLimMode: {'auto'} IOGrouping: 'none' InputLabels: [1x1 struct] OutputLabels: [1x1 struct] InputVisible: {'on'} OutputVisible: {'on'} FreqUnits: 'rad/sec' FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear' MagVisible: 'on' MagLowerLimMode: 'auto' MagLowerLim: 0 PhaseUnits: 'deg' PhaseVisible: 'on' PhaseWrapping: 'off' PhaseMatching: 'off' PhaseMatchingFreq: 0 PhaseMatchingValue: 0 我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图: P=bodeoptions; P.Grid='on'; P.XLim={[10 40000]}; P.XLimMode={'manual'}; P.FreqUnits='HZ'; num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den); bode(H,P) 这时,我们将会看到以下的伯德图:

MatlabSimulink中bode图的画法

Matlab/Simulink中bode图的画法 在Matlab中,大多时候,我们都是用M语言,输入系统的传递函数后,用bode函数绘制bode图对系统进行频率分析,这样做,本人觉得效率远不如Simulink建模高。如何在Matlab/Simulink中画bode图,以前也在网上查过些资料,没看到太多有用的参考。今天做助教课的仿真,又要画电机控制中电流环的bode图,模型已经建好,step response也很容易看出来,可这bode图怎么也出不来,又不愿意用m语言写出传递函数再画。baidu和google了好一阵,几乎没有一个帖子说的清清楚楚的,经过一番摸索,终于掌握了Simulink里画bode图的方法。.其实,Simulink里画bode图,非常的easy,也很方便。写此文的目的是希望对那些常用Simulink进行仿真希望画bode图又不愿用M语言的新手有所帮助。 以下均是以Matlab R2008a为例。 首先,在simulink里建好model。如图1,这里需要注意的是,输入和输出要用input port和output port,这样以后画bode图的时候,系统就会知道是这两个变量之间的关系。 图1 建好model 其次,选择线性分析。Tools->Control Design ->Linear Analysis。如图2。

图2 选择Linear Ansysis 将出现如图3所示的Control and Estimation Tools Manager窗口。

图3 Control and Estimation Tools Manager窗口 第三步,激动人心的时刻到了,哈哈。如果你是按照前面的步骤来的,那么这时候,你就应该可以直接画出bode图,在窗口的下方,将“Plot linear an alysis result in a ”前面的方框打上勾,已打的就不用管了,再在后面的下拉框里选择“bode response plot”,即画output port和input port之间的bode图,再点击“Linearize Model”按钮,就OK了。其实除了bode图,还可以画其他很多响应曲线,比如step response、impulse response和Nyquist图等等,只需选择相应的step response plot,inpulse response plot或者Nyquist plot等等。方法都是相同的。选择选择“bode response plot”,如图4所示。 图4 画出bode图 稍等片刻,便出现了图1中output port和input port的bode图了。是不是很简单?!

基带信号眼图实验matlab仿真

数字基带信号的眼图实验——m a t l a b 仿真 一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ 基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉MATLAB 语言编程。 二、实验预习要求 1、复习《数字通信原理》第七章节——奈奎斯特第一准则内容; 2、复习《数字通信原理》第七章节——数字基带信号码型内容; 3、认真阅读本实验内容,熟悉实验步骤。 三、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1所示,要获得良好的基带传输系统,就应该 图3-1 基带系统的分析模型 抑制码间干扰。设输入的基带信号为 ()n s n a t nT δ-∑,s T 为基带信号的码元周期,则经过基带传输系统后的输出码元为()n s n a h t nT -∑。其中 1()()2j t h t H e d ωωωπ+∞-∞=? (3-1) 理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: 10()0,s k h kT k =?=?? ,为其他整数 (3-2) 频域应满足: ()0,s s T T H πωωω?≤?=??? ,其他 (3-3) 图3-2 理想基带传输特性 此时频带利用率为2/Baud Hz ,这是在抽样值无失真条件下,所能达到的最高频率利用率。

由于理想的低通滤波器不容易实现,而且时域波形的拖尾衰减太慢,因此在得不到严格定时时,码间干扰就可能较大。在一般情况下,只要满足: 222(),s i s s s s i H H H H T T T T T ππππ ωωωωω??????+=-+++=≤ ? ? ???????∑ (3-4) 基带信号就可实现无码间干扰传输。这种滤波器克服了拖尾太慢的问题。 从实际的滤波器的实现来考虑,采用具有升余弦频谱特性()H ω时是适宜的。 (1)(1)1sin (),2(1)()1,0(1)0,s s s s s s T T T T H T T ππαπαωωαπαωωπαω???-+--≤≤???????-?=≤≤???+>??? (3-5) 这里α称为滚降系数,01α≤≤。 所对应的其冲激响应为: ()222sin cos()()14s s s s t T t T h t t t T T παππα=- (3-6) 此时频带利用率降为2/(1)Baud/Hz α+,这同样是在抽样值无失真条件下,所能达到的最高频率利 用率。换言之,若输入码元速率'1/s s R T >,则该基带传输系统输出码元会产生码间干扰。 2、眼图 所谓眼图就是将接收滤波器输出的,未经再生的信号,用位定时以及倍数作为同步信号在示波器上重复扫描所显示的波形(因传输二进制信号时,类似人的眼睛)。干扰和失真所产生的畸变可以很清楚的从眼图中看出。眼图反映了系统的最佳抽样时间,定时的灵敏度,噪音容限,信号幅度的畸变范围以及判决门限电平,因此通常用眼图来观察基带传输系统的好坏。 图3-3 眼图示意图 四、仿真环境 Windows NT/2000/XP/Windows 7/VISTA ; MATLAB 以上。

使用matlab绘制眼图

实用标准 绘制数字基带信号的眼图实验matlab使用一、实验目的 1、掌握无码间干扰传输的基本条件和原理,掌握基带升余弦滚降系统的实现方法; 2、通过观察眼图来分析码间干扰对系统性能的影响,并观察在输入相同码率的NRZ基带信号下,不同滤波器带宽对输出信号码间干扰大小的影响程度; 3、熟悉MATLAB语言编程。 二、实验原理和电路说明 1、基带传输特性 基带系统的分析模型如图3-1 所示,要获得良好的基带传输系统,就应该 ???????nTat?nT?tah snns基带传输n抽样判决n?)(H 图3-1 基带系统的分析模型 ????TnT?at为基带信号的码元周期,则经过抑制码间干扰。设输入的基带信号为, ???dH)()h(t?e(3-1)ssnn???nTtah?。其中基带传输系统后的输出码元为nsn??1?tj ?2??理论上要达到无码间干扰,依照奈奎斯特第一准则,基带传输系统在时域应满足: k?01,?h(kT)? (3-2) ?s为其他整数0,k?频域应满足:????T,?s?T)?H( (3-3) ?s??其他0,?文档大全. 实用标准?)H( s 3-2 理想基带传输特性图HzBaud/2这是在抽样值无失真条件下,所能达到的最高频率利用率。,此时频带利用率为因此在得不到严格而且时域波形的拖尾衰减太慢,由于理想的低通滤波器不

容易实现,定时时,码间干扰就可能较大。在一般情况下,只要满足:??????????222i???????H???HH?T?,??H()(3-4) ??????s TTTT??????issss基带信号就可实现无码间干扰传输。这种滤波器克服了拖尾太慢的问题。?)H(时是适宜的。从实际的滤波器的实现来考虑,采用具有升余 弦频谱特性????????T))??(1(1??s???),1?sin(??? ?TT2T???sss???)(1?????1,0H(?)?(3-5) ?T?s???)(1???0,? T??s??1?0?称为滚降系数,。这里所对应的其冲激响应为:?tsin??)cos(TTt ss?h()t (3-6) ???t222?T4?1t s T s?HzBaud/)(12/?所能达到的最,这同样是在抽样值无失真条件下,此时 频带利用率降为'T?R1/,则该基带传输系统输出码元会产生码高频率利用率。换言之,若输入码元速率ss文档大全. 实用标准 间干扰。 2、眼图 所谓眼图就是将接收滤波器输出的,未经再生的信号,用位定时以及倍数作为同步信号在示波器上重复扫描所显示的波形(因传输二进制信号时,类似人的眼睛)。干扰和失真所产生的畸变可以很清楚的从眼图中看出。眼图反映了系统的最佳抽样时间,定时的灵敏度,噪音容限,信号幅度的畸变范围以及判决门限电平,因此通常用眼图来观察基带传输系统的好坏。 眼图示意图图3-3 三、仿真程序设计 1、程序框架

matlab绘制bode图技巧

我们经常会遇到使用Matlab画伯德图的情况,可能我们我们都知道bode这个函数是用来画bode图的,这个函数是Matlab内部提供的一个函数,我们可以很方便的用它来画伯德图,但是对于初学者来说,可能用起来就没有那么方便了。 譬如我们要画出下面这个传递函数的伯德图: 1.576e010 s^2 H(s)= ------------------------------------------------------------------------------------------ s^4 + 1.775e005 s^3 + 1.579e010 s^2 + 2.804e012 s + 2.494e014 (这是一个用butter函数产生的2阶的,频率范围为[20 20K]HZ的带通滤波器。) 我们可以用下面的语句: num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den); bode(H) 这样,我们就可以得到以下的伯德图: 可能我们会对这个图很不满意,第一,它的横坐标是rad/s,而我们一般希望横坐标是HZ;第二,横坐标的范围让我们看起来很不爽;第三,网格没有打开(这点当然我们可以通过在后面加上grid on解决)。 下面,我们来看看如何定制我们自己的伯德图风格: 在命令窗口中输入:bodeoptions 我们可以看到以下内容: ans = Title: [1x1 struct] XLabel: [1x1 struct]

YLabel: [1x1 struct] TickLabel: [1x1 struct] Grid: 'off' XLim: {[1 10]} XLimMode: {'auto'} YLim: {[1 10]} YLimMode: {'auto'} IOGrouping: 'none' InputLabels: [1x1 struct] OutputLabels: [1x1 struct] InputVisible: {'on'} OutputVisible: {'on'} FreqUnits: 'rad/sec' FreqScale: 'log' MagUnits: 'dB' MagScale: 'linear' MagVisible: 'on' MagLowerLimMode: 'auto' MagLowerLim: 0 PhaseUnits: 'deg' PhaseVisible: 'on' PhaseWrapping: 'off' PhaseMatching: 'off' PhaseMatchingFreq: 0 PhaseMatchingValue: 0 我们可以通过修改上面的每一项修改伯德图的风格,比如我们使用下面的语句画我们的伯德图:P=bodeoptions; P.Grid='on'; P.XLim={[10 40000]}; P.XLimMode={'manual'}; P.FreqUnits='HZ'; num=[1.576e010 0 0]; den=[1 1.775e005 1.579e010 2.804e012 2.494e014]; H=tf(num,den); bode(H,P) 这时,我们将会看到以下的伯德图:

相关文档