谱 matlab fft,MATLAB 频谱分析(FFT FT定义法)

[x1,fs,bits]=wavread('E:\testshuiyin\3.wav');

N=1024;

y1=fft(x1,N);%对采样后信号做1024点FFT变换N一般是2的幂次方,N计算为N>2倍采样率除以分辨率

f=fs*(0:N-1)/N;%生成频率序列,FFT变换图形一般是对称的所以取了一半

%%%%%%%%%%%%%%%%%%录音信号波形

subplot(241);

plot(x1);

title('录音信号波形')

%%%%%%%%%%%%%%%%%%录音信号频谱图

subplot(242);

plot(f,x1(1:N));

title('录音信号频谱')

%%%%%%%%%%%%%%%%%%录音信号幅度

subplot(243);

plot(f(1:N/2),abs(x1(1:N/2)));

title('录音信号幅度谱')

xlabel('频率/Hz'); ylabel('幅值')

%%%%%%%%%%%%%%%%%%录音信号相位

ph=2*angle(x1(1:N/2));

ph=ph*180/pi;

subplot(244);

plot(f(1:N/2),ph(1:N/2));

xlabel('频率/Hz'),ylabel('相角'),title('录音信号相位谱');

%%%%%%%%%%%%%%%%%%录音信号FFT后频谱

subplot(245);

plot(y1)%采样后信号的FFT频谱图

title('录音信号FFT频谱图')

%%%%%%%%%%%%%%%%%%录音信号FFT后幅度

subplot(246);

plot(f(1,N/2)abs(y1(N/2)))%采样后信号的FFT幅度谱,不指定横坐标无意义请注意

title('录音信号FFT幅度谱')

%%%%%%%%%%%%%%%%%%%录音信号随频率变化的相位

ph=2*angle(y1(1:N/2));

ph=ph*180/pi;

subplot(247);

plot(f(1:N/2),ph(1:N/2));

xlabel('频率/Hz'),ylabel('相角'),title('录音信号FFT相位谱');

%%%%%%%%%%%%%%%%%%%由定义得出的FT

X1=x1(:,1);%双声道降维

X2=zeros(N/16,1);%只采样64点

for n=1:N/16

for m=1:length(X1)/2 %数据量太大显示太慢只取一半作分析

X2(n,1)=X2(n,1)+X1(m,1)*exp(-j*n*m);%将w与n同步以便于计算存储,w,n关系也可以变

end

end

subplot(248);

plot(1:N/16,X2(1:N/16,1))

xlabel('频率w'),ylabel('X2(jw)'),title('定义法FT 64点频谱图')

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Matlab中,可以使用FFT函数计算信号的幅度和相位。对于给定的信号x,可以使用以下方求取其相位: 方一:通过FFT计算相位 1. 首先,使用fft函数对信号x进行傅里叶变换,得到频域表示ft。 2. 使用abs函数计算ft的幅度,即频域表示的绝对值。 3. 使用angle函数计算ft的相位,即频域表示的相位角。 4. 可以通过找到幅度的最大值对应的索引,然后使用相位的对应索引值得到相应的相位。 方二:通过点乘计算相位 1. 定义时间序列t,生成信号x1和x2。 2. 通过将x1与x2进行点乘运算得到y。 3. 使用angle函数计算y的相位,即得到所需的相位。 需要注意的是,在处理多个数据时,angle函数会对每个数据独立求相位角度,而phase函数会对输出结果做判断,如果相邻两个输出角度之差的绝对值超过3.5,那么phase函数会对其重新处理,保证输出的相邻两个相位角度差值的绝对值不会超过3.5。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [MATLAB计算两信号相位差的两个方](https://blog.csdn.net/jlf521521/article/details/119746915)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [【20211214】【信号处理】使用Matlab求解信号的频图、幅度、相位](https://blog.csdn.net/weixin_40583722/article/details/121929926)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值