⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bandwith.m

📁 C 程序 球面方位角算法: azimuth.cpp CRC校验快速算法: CRC_Table.cpp 解扰码算法: scrambler.cpp Matlab 程序 信号带宽测量: Ba
💻 M
字号:
% 信号带宽测量程序: 
% 输入文件要求:采样率与速率比fs/v>64,文件长度>30000,格式为wav文件
% 输入参数:完整文件名,采样率, 
function  [flow,fhigh]=BandWith(fna)
% close all;  clear all;  clc;
[u,fs] = wavread(fna,30000);            % 读入wav文件
f = [200 300];
a = [1 0];
dev = [0.01 0.1];
[n,fo,ao,w] = remezord(f,a,dev,fs);
b = remez(n,fo,ao,w);                   % [H,W] = freqz(b,1,1024,fs);

x = u'*100;
xsum=zeros(1,256);
ilowf=0;
ihighf=0;
%  计算64点归一化功率谱
for i=10000:2:20000
    m_f=fft(x(i:i+64),512);
    mt=abs(m_f);
    mt(1:257)=mt(1:257).^2;
    fmax=max(mt(1:256));
    xsum=xsum+mt(1:256)/fmax;
end;
fmax=max(xsum);
xsum=xsum/fmax;
% 以功率谱下降到0.3为限,搜索频带边界,从而求得带宽 
Id=find(xsum>=0.3);
flow =18.75*(Id(1)-1);
fhigh=18.75*(Id(end)+1);
type=sprintf('the lower limit freq is %0.4g\n\nthe upper limit freq is %0.4g',ilowf*18.75,ihighf*18.75)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -