lise2001 发表于 2008-4-29 00:21

如何根据已给出的表达式画图(附图)

求助如何根据表达式画幅频曲线我这里有个表达式,就是根据这个表达式画出图形。

而根据相关资料,我找到了参考图。

但是我编程后仿真图与参考图相差很大。

所以想请哪位高手帮忙指点下,哪里出了问题。

我是用.m文件编程的。
表达式如下:

而参考图形如下:

对表达式进行说明:
该模型描述了典型的电力线信道的频率响应,概括了500KHz-20MHz的电力线的信道特征。


我的程序如下:echo on
t0=2.*10.^7;
ts=5000;
f=;
m=0.64.*exp(-1.56.*(10.^(-7)).*f).*exp(-2.66.*j.*pi.*f)+0.38.*exp(-1.73.*(10.^(-7)).*f).*exp(-2.97.*j.*pi.*f)-0.15.*exp(-1.9.*(10.^(-7)).*f).*exp(-3.26.*j.*pi.*f)+0.05.*exp(-2.09.*(10.^(-7)).*f).*exp(-3.57.*j.*pi.*f);
absm=abs(m);
plot(f,absm)
xlabel('Frequency')
title('The Discrete MagnitudeSpectrum')


但是这个程序运行后的仿真图与参考图大不一样。。。


所以想请哪位高手帮忙指点下哪里出了问题?

[ 本帖最后由 eight 于 2008-4-29 09:53 编辑 ]

sigma665 发表于 2008-4-29 08:43

回复 楼主 的帖子

你的坐标和图中的坐标不一样吧?
你的要比他大

sogooda 发表于 2008-4-29 08:59

楼主的matlab程序我看了一下,没有问题,虽然用了很多不必要的'.',但是结果应该是没问题的。
我觉得可能还是楼主的表达式和图形对应关系有问题——或者说那个图并不是由你给出的那个函数直接得出来的,或许经过了什么变换?

huright 发表于 2008-4-29 09:09

采样点间隔太大

sogooda 发表于 2008-4-29 09:23

回复 4楼

我用ts=1000绘图和ts=5000绘图差异不大,而才用ts=500时出现了以下的图形,高频率的振荡,不知道为什么。

[ 本帖最后由 sogooda 于 2008-4-29 10:43 编辑 ]

ch_j1985 发表于 2008-4-29 09:49

原帖由 sogooda 于 2008-4-29 09:23 发表 http://www.chinavib.com/forum/images/common/back.gif
我用ts=1000绘图和ts=5000绘图差异不大,而才用ts=500时出现了一下的图形,高频率的振荡,不知道为什么。

我画了一下,跟你画的图差不多。看了一下m的值都非常接近,所以我觉得参考图的纵坐标是经过处理的,比如取对数或用分贝表示的,希望楼主再仔细想想

[ 本帖最后由 ch_j1985 于 2008-4-29 09:50 编辑 ]

lise2001 发表于 2008-4-30 00:27

原帖由 sigma665 于 2008-4-29 08:43 发表 http://www.chinavib.com/forum/images/common/back.gif
你的坐标和图中的坐标不一样吧?
你的要比他大
谢谢你的答复,只是我看到我这个信道的频率范围是500KHz-20MHz,所以我才取到2x10^7

lise2001 发表于 2008-4-30 00:30

原帖由 sogooda 于 2008-4-29 08:59 发表 http://www.chinavib.com/forum/images/common/back.gif
楼主的matlab程序我看了一下,没有问题,虽然用了很多不必要的'.',但是结果应该是没问题的。
我觉得可能还是楼主的表达式和图形对应关系有问题——或者说那个图并不是由你给出的那个函数直接得出来的,或许经过了什 ...

我也觉得应该是经过了一定的变换

它这个参考图的仿真工具是COSSAP

而我的是MATLAB

我怀疑它这个是有一个输入信号,因为这个幅度这么大

而这个表达式给出的权重Gi数值只有0-1,根本没那么大的

lise2001 发表于 2008-4-30 00:33

原帖由 huright 于 2008-4-29 09:09 发表 http://www.chinavib.com/forum/images/common/back.gif
采样点间隔太大

采样点,我是根据它那个参考图来考虑的

只是,原本我取的采样点也是蛮小的

但是很平滑。。。

这个表达式是一个代表“衰减,时延”等影响的一个信道模型

lise2001 发表于 2008-4-30 00:35

原帖由 sogooda 于 2008-4-29 09:23 发表 http://www.chinavib.com/forum/images/common/back.gif
我用ts=1000绘图和ts=5000绘图差异不大,而才用ts=500时出现了以下的图形,高频率的振荡,不知道为什么。

这个情况我也出现过

可能这个模型只只合于低频吧

lise2001 发表于 2008-4-30 00:40

原帖由 ch_j1985 于 2008-4-29 09:49 发表 http://www.chinavib.com/forum/images/common/back.gif


我画了一下,跟你画的图差不多。看了一下m的值都非常接近,所以我觉得参考图的纵坐标是经过处理的,比如取对数或用分贝表示的,希望楼主再仔细想想

谢谢你的提议~
其实我也想过取分贝

我怀疑它这个参考图肯定取过分贝

因为我们无论怎么取值,画出的幅値永远都是正值

但是参考图里却是负值...

我想请教下,怎么取分贝??用什么函数?

这个我们当时没学过。。。

sogooda 发表于 2008-4-30 08:31

原帖由 lise2001 于 2008-4-30 00:30 发表 http://www.chinavib.com/forum/images/common/back.gif


我也觉得应该是经过了一定的变换

它这个参考图的仿真工具是COSSAP

而我的是MATLAB

我怀疑它这个是有一个输入信号,因为这个幅度这么大

而这个表达式给出的权重Gi数值只有0-1,根本没那么大的

如果是有输入信号的话,就可能了。
同时在不知道输入的前提下,也就没法画出和示范图一样的图了。

[ 本帖最后由 sogooda 于 2008-4-30 08:42 编辑 ]

lise2001 发表于 2008-4-30 16:07

回复 12楼 的帖子

怪不得啊~~谢谢你的答复~~
我等下加个输入信号进去试试看~~

ch_j1985 发表于 2008-4-30 16:45

原帖由 lise2001 于 2008-4-30 00:40 发表 http://www.chinavib.com/forum/images/common/back.gif


谢谢你的提议~
其实我也想过取分贝

我怀疑它这个参考图肯定取过分贝

因为我们无论怎么取值,画出的幅値永远都是正值

但是参考图里却是负值...

我想请教下,怎么取分贝??用什么函数?

这个我们 ...
《自动控制原理》中分贝是这样求的:
L(w)=20lg|G(jw)|=20lgA(w) 单位(dB),其中G(jw)为频率特性,A(w) 为幅频特性

lise2001 发表于 2008-4-30 18:27

谢谢~~现在出现了另一个问题。。。
那就是我的输入信号是一个sincx函数
它的周期很小,我希望这个输入信号经过这个信道,但是信道带宽很大
所以想产生一个连续的sincx信号,不知道怎么产生
页: [1] 2
查看完整版本: 如何根据已给出的表达式画图(附图)