Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 工程数学软件 > MATLAB论坛
MATLAB论坛 一切MATLAB相关问题在此讨论。
回复
 
主题工具 显示模式
旧 2008-07-25, 16:04   #1
sfang9902
初级会员
 
注册日期: 2008-06-16
年龄: 44
帖子: 11
声望力: 17
sfang9902 正向着好的方向发展
默认 [求助]请指教下面程序哪里不对

设信号为:x(t)=sin(2π20t),在信号中加入方差为0.1的白噪声序列,取采样频率fs=200Hz,采样点数N=200,用Burg算法分析信号。(应该出现谱分裂现象,可是我弄的程序不出现,调了很多次,也没出来,请各信号处理高手指点,小女子将万分感激)
我编的程序如下:
clear all
fs=200;
nfft=200;
order=20;
t=0:1/fs:1;
f1=20;

x=sin(2*pi*f1*t)+sqrt(0.1)*randn(size(t));
[p,f]=pburg(x,order,nfft,fs);
p1=10*log10(p);

plot(f,p1)
grid on;
xlabel('Frequency(Hz)');
ylabel('相对功率谱密度(dB/Hz)');
title('Burg PSD Estimate');
sfang9902 当前离线   回复时引用此帖
旧 2008-08-24, 10:27   #2
joeyoung83
初级会员
 
注册日期: 2008-08-13
年龄: 41
帖子: 5
声望力: 0
joeyoung83 正向着好的方向发展
默认 回复: [求助]请指教下面程序哪里不对

期待答案:redface: :redface:
joeyoung83 当前离线   回复时引用此帖
旧 2008-08-24, 23:09   #3
pslpsl
普通会员
 
注册日期: 2008-08-17
年龄: 36
帖子: 70
声望力: 20
pslpsl 是一个将要出名的人pslpsl 是一个将要出名的人
问题 回复: [求助]请指教下面程序哪里不对

代码:
 
clear all
fs=200;
nfft=200;
order=20;
t=0:1/fs:1;
f1=20;
x=sin(2*pi*f1*t)+sqrt(0.1)*randn(size(t));
order=floor(length(x)/5);
[p,f]=pburg(x,order,nfft,fs);
pmax=max(p);
p=p/pmax;
p1=10*log10(p);
plot(f,p1)
grid on;
xlabel('Frequency(Hz)');
ylabel('相对功率谱密度(dB/Hz)');
title('Burg PSD Estimate');
ymin_psd=min(p1)-1;
ymax_psd=max(p1)+1;
axis([0 fs/2 ymin_psd ymax_psd]);
pslpsl 当前离线   回复时引用此帖
旧 2008-08-26, 21:14   #4
sfang9902
初级会员
 
注册日期: 2008-06-16
年龄: 44
帖子: 11
声望力: 17
sfang9902 正向着好的方向发展
默认 回复: [求助]请指教下面程序哪里不对

order=floor(length(x)/5);

ymin_psd=min(p1)-1;
ymax_psd=max(p1)+1;

什么意思?为什么这样做呢?

可是还是出不来谱线分裂的现象啊?麻烦您有时间再看看,谢谢
sfang9902 当前离线   回复时引用此帖
回复


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码


相似的主题
主题 主题作者 版面 回复 最后发表
函数中的输入参数个数限制 暖阳三杯 MATLAB论坛 0 2008-04-17 17:31
【求助】数据输入出错! weipeng MATLAB论坛 0 2007-06-26 12:40


所有时间均为北京时间。现在的时间是 10:51


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.