日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

matlab fname pname,求大神帮我解释一下matlab最后几行是什么意思

發布時間:2025/3/15 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 matlab fname pname,求大神帮我解释一下matlab最后几行是什么意思 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

該樓層疑似違規已被系統折疊?隱藏此樓查看此樓

clear;

if nargin<1;action='initialized';end;

[fname,pname]=uigetfile('*.wav','Open Wave File');

file=[pname,fname];

[x,fs,bits]=wavread(file); % 讀入聲音文件(*.wav)

sound(x,fs,bits); % 數據通過聲卡轉換為聲音

%===========================================================

% pause;

data1=x(:,1);

n=0:length(x)-1;

time=n/fs;

subplot(3,1,1) % 繪制2行1列的第1張子圖

plot(time,data1) % 以時間為橫軸,數據為縱軸作圖

xlabel('Time (sec.)') % 標注橫坐標

ylabel('Signal Level (Volts)') % 標注縱坐標

grid on % 添加網格

% pause;

% 對采集數據作濾波處理

blocksize =length(data1); % 計算窗函數長度

window = hanning(blocksize); % 計算漢寧窗函數(此函數為MATLAB自帶)

data2=window.*data1; % 對數據先作加窗處理

wp=[70,400]; %100Hz--400Hz

wp=wp*2/fs;

wp=3000*2/fs;

[b,a]=ellip(4,0.1,20,wp); % 構造橢圓濾波器

data=filter(b,a,data2); % 求加窗處理后的數據經過濾波器的響應

subplot(3,1,2) % 繪制2行1列的第1張子圖

plot(time,data) % 以時間為橫軸,數據為縱軸作圖

xlabel('Time (sec.)') % 標注橫坐標

ylabel('Signal Level (Volts)') % 標注縱坐標

grid on % 添加網格

% pause;

[xmax,index]=max(data1);

timewin=floor(0.015*fs);

xwin=data1(index-timewin:index+timewin);

[y,lags]=xcov(xwin);

subplot(3,1,3)

plot(lags,y)

grid on

ylen=length(y);

halflen=(ylen+1)/2 +30;

yy=y(halflen: ylen);

[ymax,maxindex] = max(yy);

fmax=fs/(maxindex+30);

disp(['Maximum occurred at ', num2str(fmax), ' Hz'])

總結

以上是生活随笔為你收集整理的matlab fname pname,求大神帮我解释一下matlab最后几行是什么意思的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。