❶ matlab 时频分析工具箱怎么使用
将文件夹拷贝到MATLAB下work目录中。
在MATLAB中file菜单下的setpath中添加整个work目录后保存。
❷ 关于MATLAB时频分析工具箱怎么导入
我今晚刚导入成功!
可能是你下的工具包有问题,我第一个导入的就用不了,后来换了个工具包就可以了。
❸ 用matlab进行时频信号分析器设计
wp=0.2*pi;ws=0.3*pi;%你没有给出指标,可以自己改
Fs=20000;T=1/Fs;%采样频吵兆率可以自己定
OmegaP=(2/T)*tan(wp/2);
OmegaS=(2/T)*tan(ws/2);
rp=1;rs=15;
ripple=10^(-rp/20);attn=10^(-rs/20);
[n,wn]=buttord(OmegaP,OmegaS,rp,rs,'s');
[z,p,k]=Buttap(n);
[b,a]=zp2tf(z,p,k);
[bt,at]=lp2lp(b,a,wn);
[b,a]=bilinear(bt,at,Fs);
[db,mag,pha,grd,w]=freqz_m(b,a);
%
%下面绘出各条曲线
subplot(2,2,1);plot(w/pi,mag);title('幅频特性');
xlabel('w(/pi)');ylabel('|H(jw)|');
axis([0,1,0,1.1]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);
set(gca,'YTickMode','manual','YTick',[0 attn ripple 1]);grid
subplot(2,2,2);plot(w/pi,db);title('幅频特性(db)');
xlabel('w(/pi)');ylabel('dB');
axis([0,1,-30,5]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);
set(gca,'YTickMode','manual','YTick',[-60 -as -rp 0]);grid
subplot(2,2,3);plot(w/pi,pha/pi);title('相频特性');
xlabel('w(/pi)'升模租);ylabel('pha(/pi)');
axis([0,1,-1,1]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);grid
subplot(2,2,4);plot(w/pi,grd);title('群延时');
xlabel('w(/pi)');ylabel('Sample');
axis([0,1,0,15]);
set(gca,'XTickMode','manual','XTick',[0 0.2 0.3 1]);grid
%b,a是滤波器的系数,系统函数根据b和a写出。
%若程序运行有码扰问题可以Hi我
❹ 吧里有懂matlab时频分析的大神吗
STFT,全名叫做短时傅里叶变换,它的思想是对一个随机信号做傅里叶频谱分析,更直接的说,就是在一个相当短的时间函数窗内截取目标信号进行频谱分析,达到对随机信号衫高分析处理的目的。如下: 选择一个时频局部化的窗函数,假定分析窗函数g(t)在一个短时间间隔内是平稳(伪平稳)的,移动窗函数,使f(t)g(t)在不同的有限时间宽度内是平稳信号,从而计算出各个不同时刻的功率谱。短时傅里叶变换使用一个固定的窗函数,窗函数一旦确定了以后,其形状就不再发生改变,短时傅里叶变换的分辨率也就确定了。如果要改变分辨率,则需要重新选择窗函数。短时傅里叶变换用来分析分段平稳信号或轮首者近似平稳信号犹可,但是对于非平稳信号,当信号变化剧烈时腊塌数,要求窗函数有较高的时间分辨率;而波形变化比较平缓的时刻,主要是低频 信号,则要求窗函数有较高的频率分辨率。短时傅里叶变换不能兼顾频率与时间分辨率的需求。短时傅里叶变换窗函数受到测不准原理的限制,时频窗的面积不小于2。这也就从另一个侧面说明了短时傅里叶变换窗函数的时间与频率分辨率不能同时达到最优。也就是,时间与频率不可能同时最优化。要想达到优化处理,就需要选用不同的窗函数,这就是楼主您的课题了。 STFT当前主要用于随机信号检测,医学上的神经信号分析,军事上的雷达信号分析等等,应用在当前来说相对比较广泛。
❺ 用matlab进行频谱分析应该用什么工具箱
1、采样数据导入matlab
。
采样数据的导入至少有三种方法。
第一就是手动将数据整理成matlab支持的格式,这种方法仅适用于数据量比较小的采样。
第二种方法是使用matlab的可视化交互操作,具体操作步骤为:file
-->
import
data,然后在弹出的对话框中找到保存采样数据的文件,根据提示一步一步即可将数据导入。这种方法适合于数据量较大,但又不是太大的数据。
第三种方法,使用文件读入命令。数据文件读入命令有textread、fscanf、load等,如采样数据保存在txt文件中,则推塌枝荐使用
textread命令。如[a,b]=textread('data.txt','%f%*f%f');
这条命令将data.txt中保存的数据三个三个分组,将每组的第一个数据送给列向量a,第三个数送给列向量b,第二个数据丢弃。命令类似于c语言,详细可查看其帮助文件。文件读入命令录入采样数据可以处理任意大小的数据量,且录入速度相当快,一百多万的数据不到20秒即可录入。
2、对采样数据进行频谱分析
。
频谱分析自然要使用快速傅里叶变换fft了,对应的命令即
fft
,简单使用方法为:y=fft(b,n),其中b即罩衫虚是采样数据,n为fft数据采样个数。一般不指定n,即简化为y=fft(b)。y即为fft变换后得到的结果,与b的元素数相等,为复数。以频率为横坐标,y数组每个元素的幅值为纵坐标,画图即得数据b的幅频特性;以频率为横坐标,y数组每个元素的角度为纵坐标,画图即得数据b的相频特性。典型频谱分析m程序举例如下:
clc
fs=100;
t=[0:1/fs:100];
n=length(t)-1;%减1使n为偶数
%频率分辨率f=1/t=fs/n
p=1.3*sin(0.48*2*pi*t)+2.1*sin(0.52*2*pi*t)+1.1*sin(0.53*2*pi*t)...
+0.5*sin(1.8*2*pi*t)+0.9*sin(2.2*2*pi*t);
%上面模拟对信号进行采样,得到采样数据p,下面对p进行频谱分析
figure(1)
plot(t,p);
grid
on
title('信号
p(t)');
xlabel('t')
ylabel('p')
y=fft(p);
magy=abs(y(1:1:n/2))*2/n;
f=(0:n/2-1)'*fs/n;
figure(2)
%plot(f,magy);
h=stem(f,magy,'fill','--');
set(h,'markeredgecolor','red','marker','*')
grid
on
title('频谱图
(理想值:[0.48hz,1.3]、[0.52hz,2.1]、[0.53hz,1.1]、[1.8hz,0.5]、[2.2hz,0.9])
');
xlabel('f
(hz)')
ylabel('幅值')
对于现实中的情况,采样频率fs一般都是由采样仪器决定的,即fs为一个给定的常数;另一方面,为了获得一定精度的频谱,对频率分辨率f有一个人为的规定,一般要求f<0.01,即采样时间ts>100秒;由采样时间ts和采样频率fs即可决定物燃采样数据量,即采样总点数n=fs*ts。这就从理论上对采样时间ts和采样总点数n提出了要求,以保证频谱分析的精准度。
❻ matlab 如何调用时频分析工具箱
找到工具箱是指toolbox吗 ?之后怎么办呢?麻烦说具体一点,要是有图就更好了。新手报到
❼ matlab作时频分析时出错,求教如何修改。急!
数据超出范围了,意思就是你的数据太大了
exceeded 超出