📄 bandwith.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 + -