lise2001 发表于 2008-5-3 23:03

怎样用M文件编正弦信号发生器?

哪位朋友知道怎样用.M文件编正弦信号发生器?

我想编一个连续产生正弦波信号的发生器。

希望长度为20MHz。

[ 本帖最后由 eight 于 2008-5-4 21:28 编辑 ]

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

回复 楼主 的帖子

y=sin(wt)?

lise2001 发表于 2008-5-4 21:48

原帖由 sigma665 于 2008-5-4 08:43 发表 http://www.chinavib.com/forum/images/common/back.gif
y=sin(wt)?
你好,你的表达式中的W指什么?是不是指带宽?

sigma665 发表于 2008-5-4 21:56

回复 3楼 的帖子

频率

这是正弦函数的基本表达式

lise2001 发表于 2008-5-4 23:28

回复 4楼 的帖子

你好,我的工作是,建立一个信道模型(已经建立),再给一个输入信号,将这个信号和这个模型(即传输函数)进行卷积,最后得到一个输出信号。

我在编程时,发现仿真输出结果不太对。所以在想是不是输入信号不对,是不是应该要连续的正弦信号。

我的输入信号程序如下:
echo on
t0=.2;
ts=0.001;
fs=1/ts;
df=0.3;
t=[-t0/2:ts:t0/2];
m=sinc(100*t);
=fftseq(m,ts,df);
M=M/fs;
f=-fs/2;
subplot(2,1,1)
plot(t,m(1:length(t)))
xlabel('Time')
title('The message signal')
pause
subplot(2,1,2)
plot(f,abs(fftshift(M)))
xlabel('Frequency')
title('Spectrum of the message signal')

我的信道模型程序:
echo on
t0=2.*10.^7;
ts=4.*10.^6;
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);
s=20.*log(absm);
plot(f,s)
grid;
xlabel('Frequency')
title('The Discrete MagnitudeSpectrum')

我的卷积程序:
echo on
t0=.2;
ts=0.001;
f=;
fs=1/ts;
df=0.3;
t=[-t0/2:ts:t0/2];
m=sinc(100*t);
=fftseq(m,ts,df);
f=-fs/2;
H=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);
S=20.*log(H);
Y=M.*S;
y=ifft(Y);
plot(f,Y)
grid;
xlabel('Frequency')
title('输出信号的频谱图')
pause
plot(t,abs(y(1:length(t))));
grid;
xlabel('signal')
title('输出信号时域图')

sogooda 发表于 2008-5-5 08:24

原帖由 lise2001 于 2008-5-4 23:28 发表 http://www.chinavib.com/forum/images/common/back.gif
你好,我的工作是,建立一个信道模型(已经建立),再给一个输入信号,将这个信号和这个模型(即传输函数)进行卷积,最后得到一个输出信号。

我在编程时,发现仿真输出结果不太对。所以在想是不是输入信号不对, ...

这种问题让别人很难回答,因为毕竟大家的背景知识相差很大,而且你的研究内容别人肯定不如你清楚。所以,说到结果不对,我想别人就很难帮你了。首先,确认原理、方法没问题;其次,在程序中设置断点,逐段跟踪调试,直到找到出问题的部分。具体的工作我想别人是替不了你的,毕竟你的工作你最熟悉了。
页: [1]
查看完整版本: 怎样用M文件编正弦信号发生器?