根据网友资料写的代码频域时域
来源:互联网 发布:惠惠海淘助手淘宝货 编辑:程序博客网 时间:2024/05/16 07:38
2017-03-08应该是我在把经过傅立叶面变化的至在前的数据没有进行分帧,全部带入造成数据过大。
现在毕设还在继续,以后有空我重新把分帧假如并测试调用频域到时域的这段代码的调用(下面的是我自己的想法,结果可能是错误的。存档使用)
没有测试,担心会宕机,
题外话利用matlab自带工具(这里代码与这里无关)
时域通过fft 得到频域;
频域通过ifft得到时域;
wav波形数据块,通过加窗(不经加窗测试可用),在经过fft得到复数形式,而后画图得到频域图;
频域数据复数(a+bi)在没有经过变换的时候,用ifft,能够得到wav波形数据,sound(data);测试成功。
根据文献,自己写的频域到时域,测试一次,电脑内存99%,宕机了,所以强制关机重启,不想测试了
代码贴后头,文库文章链接可接着更改。
http://wenku.baidu.com/view/39725f0f8e9951e79b89277f
个人猜想源wav 改变采样频率为outfs,采样数据为outN。可能会宕机,接着测试需谨慎。我看的文献改变采样频率的,
有时域加点,频域收缩扩展。
我是想利用获得时域得到频域,而频域获得构造的波形函数,然后采样点数通过构造的波形函数自己取点。
这里代码没有测试成功,也不知道如果用这个思路出来的语音是否有异变
function [y,fs]=fa2ta(f_a_bi,outN,outfs) %由频域到时域 a_bi=f_a_bi; nN=outN; nfs=outfs; i=0:nN-1; fn(1:nN,1)=i*nfs/nN;% fn(1,1)=1; SHIBU=real(a_bi); XUBU=imag(a_bi); an=2*sqrt(a_bi.* conj(a_bi))./nN; %直流幅度an(1,1)=SHIBU(1,1)/nN; pn=atan2(XUBU,SHIBU);%初相位 syms tnn; ann=an(2:nN,1); fnn=fn(2:nN,1); pnn=pn(2:nN,1); ycos=sym(sum(ann.*cos(tnn.*fnn*2*pi+ pi.*pnn./180),1)); ycos=ycos+a(1,1); fs=nfs; t=0:1/outfs:outN-1/outfs;%新采样个数outN y=double(subs(ycos,tnn,t)); %绘一半即0~Nyquist subplot(2,2,3); plot(t,y); xlabel('时间'); ylabel('振幅'); title('时域');end
0 0
- 根据网友资料写的代码频域时域
- 时域和频域的概念
- 时域和频域的关系
- 时域和频域的关系
- 声音信号的时域和频域
- 时域和FFT频域的关系
- 有助于理解频域、时域的几张图
- 时域,空域,频域的基本概念
- 时域与频域
- 时域和频域
- 时域频域
- 时域与频域
- 频域时域关系
- 频域和时域
- 时域的卷积等于频域的乘积证明
- 傅里叶变换(时域频域)
- 初学mfc,根据网上资料写的五子棋
- 数字图像处理3--空间域,时域,频域的理解
- 使用toolBar作为标题栏并使状态栏透明
- 洛谷 P1164 小A点菜
- 树莓派直接通过网线与电脑相连的方法
- FreeRTOS配置笔记
- hibernate中session的三种状态
- 根据网友资料写的代码频域时域
- The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar
- JAVA中 enum 类型的定义和使用
- bootstrapfileinput 上传时传递额外参数
- 怎么样加快JavaScript加载和执行效率
- TCP/IP协议栈
- Archlinux 滚动升级失败的解决办法
- ios 解码H264为YUV格式
- 无法将类型为“DAL.LoginDAO”的对象强制转换为类型“IDAL.LoginIDAL