欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

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

发布时间:2025/3/15 循环神经网络 39 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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最后几行是什么意思的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。