matlab程序 求频谱带宽
答案:1 悬赏:70 手机版
解决时间 2021-03-25 06:43
- 提问者网友:我没有何以琛的痴心不悔
- 2021-03-24 19:53
matlab程序 求频谱带宽
最佳答案
- 五星知识达人网友:归鹤鸣
- 2021-03-24 21:32
3dB带宽就是:以频谱最高点的一半为标准,超过这个标准的算在带宽之内,低于这个标准算不算,编个小程序就可以了,还不会直接数据发过来,我来算。追问我这里有很多组数据都要算,你大概把小程序发给我就OK追答写了个小程序,数据是很理想的形状,如果你的数据是实测的,那肯定会有毛刺,直接用这个程序做,结果是不准的,要用滤波器做平均。
总之你就简单看看思路吧,看懂了在根据自己的需要改进
************************************
clc;
clear;
f=0:pi/180:pi;
Data=sin(f);
MaxData=max(Data);
Threshold=MaxData/2;
BandIdx=find(Data>Threshold);
MaxIdx=find(Data==MaxData);
StartIdx=BandIdx(1)
StopIdx=BandIdx(end)
figure
plot(f,Data,'-b')
hold on
plot([f(StartIdx),f(StartIdx)],[0,Data(StartIdx)],'r--');
plot([f(StopIdx),f(StopIdx)],[0,Data(StopIdx)],'r--');
总之你就简单看看思路吧,看懂了在根据自己的需要改进
************************************
clc;
clear;
f=0:pi/180:pi;
Data=sin(f);
MaxData=max(Data);
Threshold=MaxData/2;
BandIdx=find(Data>Threshold);
MaxIdx=find(Data==MaxData);
StartIdx=BandIdx(1)
StopIdx=BandIdx(end)
figure
plot(f,Data,'-b')
hold on
plot([f(StartIdx),f(StartIdx)],[0,Data(StartIdx)],'r--');
plot([f(StopIdx),f(StopIdx)],[0,Data(StopIdx)],'r--');
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯