声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 2739|回复: 5

[公告] 关于信号产生函数fmconst

[复制链接]
发表于 2009-3-4 11:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
请问下大虾们,fmconst函数里的归一化频率fnorm和时间中心t0是什么意思啊
比如我想做个50HZ的正弦,,时间为0-5T,应该怎么设置这参数呢
回复
分享到:

使用道具 举报

 楼主| 发表于 2009-3-4 11:27 | 显示全部楼层

补充下

有人说归一化频率是就是把你的采样频率设为1,其它的频率按它的百分比表示。
可是在这里应用这函数时,采样频率也没有设置啊
%产生信号
sig=fmconst(128,0.05,50);
%显示
%实部
plot(real(sig),'LineWidth',2);
hold on;
%虚部
plot(imag(sig),'ro--','LineWidth',1);
legend('实部','虚部');
xlabel('时间 t');
ylabel('幅值 A');
发表于 2009-3-4 18:11 | 显示全部楼层
fmconst函数是产生常值调频信号,而不是产生楼主所需的50HZ的正弦,用help看一下为
FMCONST Signal with constant frequency modulation.
        [Y,IFLAW] = FMCONST(N,FNORM,T0) generates a frequency modulation  
        with a constant frequency fnorm.
        The phase of this modulation is such that y(t0)=1.
  
        N     : number of points.
        FNORM : normalised frequency.       (default: 0.25)
        T0    : time center.                (default: round(N/2))
        Y     : signal.
        IFLAW : instantaneous frequency law (optional).

        Example:
         z=amgauss(128,50,30).*fmconst(128,0.05,50); plot(real(z));
 楼主| 发表于 2009-3-4 20:32 | 显示全部楼层

回复 板凳 songzy41 的帖子

这样啊,谢谢
sig=[fmconst(128,0.2);fmconst(128,0.4)];
plot(real(sig))
tfr=tfrstft(sig);
figure
subplot(211);imagesc(abs(tfr));
subplot(212);imagesc(angle(tfr));
上面这个程序可以用来做时频处理,可是我把原始信号换成自己正弦的后,也就是下面一段程序.运行不了,我对                fmconst(128,0.2)函数不明白.请大家给指点下,0.2是归一化频率,那它的实际频率是多少
s=0:0.001:0.6;
x=sin(2*pi*50*s)+sin(2*pi*120*s);
y=x(1:256);
sig=y.';
%y需要转置
figure(1)
plot(1000*s(1:256),sig)
title('含噪信号')
xlabel('时间/us')
tfr=tfrstft(sig);
figure(2)
imagesc(abs(tfr));
麻烦你帮我分析下原因
发表于 2009-3-5 08:56 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-20 13:33 编辑
原帖由 caolizhong 于 2009-3-4 20:32 发表
fmconst(128,0.2)函数不明白.请大家给指点下,0.2是归一化频率,那它的实际频率是多少

0.2是归一化频率,实际频率决定于采样频率。
看了楼主的程序,不知道楼主对STFT了解多少,因为程序是用STFT分析信号。楼主提供程序得到的图横坐标和纵坐标的单位都是样点数,要想转换成时间和频率都要做些处理。修改程序为;
sig=[fmconst(128,0.2);fmconst(128,0.4)];
plot(real(sig))
tfr=tfrstft(sig);
%figure
imagesc(1:256,(0:255)/256,abs(tfr)); axis('xy');
xlabel('Time'); ylabel('Frequency');

s=0:0.001:0.6;
x=sin(2*pi*50*s)+sin(2*pi*120*s);
y=x(1:256);
sig=y.';
%y需要转置
figure(2)
plot(1000*s(1:256),sig)
title('含噪信号')
xlabel('时间/us')
tfr=tfrstft(sig);
figure(3)
t=s(1:256);
df=1000/256; ff=(0:128)*df;
imagesc(t,ff,abs(tfr(1:129,:)));
axis('xy'); xlabel('Time'); ylabel('Frequency');
发表于 2010-3-22 09:10 | 显示全部楼层
本帖最后由 wdhd 于 2016-9-20 13:33 编辑
原帖由 songzy41 于 2009-3-4 18:11 发表
fmconst函数是产生常值调频信号,而不是产生楼主所需的50HZ的正弦,用help看一下为
FMCONST Signal with constant frequency modulation.
        [Y,IFLAW] = FMCONST(N,FNORM,T0) generates a frequency modulation  
...

fmconst产生的是常值调频信号,我可不可以这样理解:无论这个信号是什么样的,它的频率是不变的?还是对于任何一个信号来讲,总有一个频率是常数的另一个信号作用于原信号?
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-9-22 01:36 , Processed in 0.050535 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表