Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx

上传人:桔**** 文档编号:544270374 上传时间:2022-12-01 格式:DOCX 页数:7 大小:45.31KB
返回 下载 相关 举报
Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx_第1页
第1页 / 共7页
Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx_第2页
第2页 / 共7页
Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx_第3页
第3页 / 共7页
Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx_第4页
第4页 / 共7页
Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx》由会员分享,可在线阅读,更多相关《Matlab画瀑布图,福利叶变换,频谱图代码 (2).docx(7页珍藏版)》请在金锄头文库上搜索。

1、瀑布图t=0:0.01:1; f=1:5;t,f=meshgrid(t,f);y=sin(2*pi*f.*t);waterfall(t,f,y);%就这样,你可以照样画葫芦xlabel(t);ylabel(f);zlabel(y);x = 1:24;y = 1:3;x_grid,y_grid = meshgrid(x,y);z = sin(2*pi/10*x_grid+pi*y_grid/3);waterfall(x,y,z);colorbar用MATLAB画瀑布图时怎样消隐啊,就是前面的频谱截面要挡住后面的。 感觉不消隐的话,看起来很不舒服,没有效果。下面是源程序,大家帮忙看看怎么改,能消隐

2、。org_data=distilldata(data.txt); %读取txt数据文件for j=1:1:8%取第第j列数据 data=org_data(:,j); length=size(data)/4096; %数据分段 x=0:1:2047; %频率分辨率 WFIntval=1; %y轴间距 为 1s for i=1:1:2048 y(i)=0; end for i=1:1:length z=data(i*4096-4095):(i*4096); z=z-mean(z); %去直流 z=abs(fft(z,4096)/2048; z=z; figure(j); plot3(x,y+WFI

3、ntval*i,z(1:2048); xlabel(频率/Hz); ylabel(时间/s); zlabel(幅值/mm/s2); title(瀑布图); view(30,30); axis(0,2000,-inf,inf,-inf,inf); hold on end gridend连续的傅里叶变换t=-1:0.01:1;x=5*sin(2*pi*10*t);N=length(x);fx=fft(x);df=100/N;n=0:N/2;f=n*df;subplot(211);plot(t,x);grid; subplot(212);plot(f,abs(fx(n+1)*2/N); grid;离

4、散傅里叶变换load ABC3.txtA=ABC3;X=A(1:3:30000);Fs=2000;Y=fft(X,10000);Pyy = Y.* conj(Y) / 10000;f=2000*(0:5000)/10000;subplot(211);plot(X);grid; subplot(212);plot(f,Pyy(1:5001)/5000); grid;x=1:0.1:10;y=f(x);时域:plot(x,y);y0=fft(y);plot(x,abs(y0);plot(x,angle(y0)追问频谱呢?y0=fft(y);plot(x,abs(y0);plot(x,angle(y

5、0)怎样用matlab画出语音信号的时域波形和频谱图和画出加噪声-3db的白噪声后的波形、频谱,滤波 图片符号编号排版地图您提交的参考资料超过50字,请删除参考资料:匿名提交回答 预计用到的函数有:wavread();读入wav格式的语音信号fft()快速傅里叶变换plot()绘制二维图形randn() 高斯白噪声示例:x=wavread(file.wav);%读取波形文件获得数据x=x(1:1024);%取前1024点作为处理使用数据fx=fft(x);figure(1);subplot(211);plot(x);subplot(212)plot(abs(fx);snr=.3;x1=x+sn

6、r*randn(1,1024);%添加高斯白噪声fx1=fft(x1);figure(2);subplot(211);plot(x1)subplot(212);plot(abs(fx1)这里是我写的程序:t3=-20:0.001:20;x3=sinc(t3/pi);x31=fft(x3);figure(1);subplot(2,2,1),plot(t3,x3),title(Sampling signal);grid on;subplot(2,2,2),plot(t3,abs(x31),title(Sampling signal abs);grid on;subplot(2,2,3),plot(

7、t3,angle(x31),title(Sampling signal angle);grid on;我来帮他解答 图片符号编号排版地图满意回答 问题在这一句:subplot(2,2,2),plot(t3,abs(x31),title(Sampling signal abs);你的尺度可能没有选好,如果把x, y的大小调整一下,可能就会出来的。 (对不起,我没时间替你做这件事了)在matlab中,如何对一个信号的频域进行分析,并画出频域图? 2010-5-28 13:16 提问者: perfactcc | 浏览次数:2098次例如信号:x=sin(2*pi*50*t)+0.5*cos(2*pi

8、*200*t)+0.5*sin(2*pi*270*t)如何求它的频域图?谢谢各位能帮个忙!我来帮他解答 图片符号编号排版地图N=4096;n=0:N-1;fs=1000;t=n*T;x=sin(2*pi*50*t)+0.5*cos(2*pi*200*t)+0.5*sin(2*pi*270*t);X=fft(x,N);plot(-N/2):(N/2-1)*fs/N,20*log10(fftshift(abs(X);具体地说,就是以下这段MATLAB程序进行的离散数据处理得到的是功率谱还是幅值谱?核心代码如下:%傅立叶变换y=y-mean(y); %消去直流分量,使频谱更能体现有效信息Fs=(le

9、ngth(x)-1)/(max(x)-min(x); %得到原始数据data.txt时,仪器的采样频率。其实就是length(x)/(max(x)-min(x);N=length(y); %data.txt中的被测量个数,即采样个数。其实就是length(y);z=fft(y);%频谱分析f=(0:N/2)*Fs/N;Mag=2*abs(z)/N; %幅值,单位同被测变量yPyy=Mag.2; %能量;对实数系列X,有 X.*X=X.*conj(X)=abs(X).2=X.2,故这里有很多表达方式%显示频谱图(频域)subplot(2,1,2)plot(f,Mag(1:1+N/2)1人同问怎么

10、用MATLAB画频谱图 2011-4-24 20:51 提问者: 刘六小猪 | 浏览次数:5814次问题补充: 我不知道怎么生成频谱,在MATLAB中spectrum好像不怎么好用,我是用的08版的MATLAB。求助,满意回答 t=-10:0.001:10;x=10*cos(800*pi*t+pi/4)+7*cos(1200*pi*t-pi/3)-3*cos(1600*pi*t);X=fftshift(fft(x);fs=linspace(-1000/2,1000/2,length(t);%1000是由0.001而来,采样间隔plot(fs,abs(X); t=0:0.1:25;y0=sin(

11、100*t);y1=10*sin(t);y2=5*cos(99*t)-cos(101*t);subplot(2,2,1);plot(y0)subplot(2,2,2);plot(y1)subplot(2,2,1);plot(y0)subplot(2,2,3);plot(y2)subplot(2,2,4); subplot(2,2,4); X=fft(y2);fs=linspace(0,25,length(t);%1000是由0.001而来,采样间隔plot(fs,abs(X);Matlab画三维图楼主你好! 设三个数组分别为x,y,z那么运行命令 mesh(x,y,z)或 surf(x,y,z)或 meshc(x,y,z)或 surfc(x,y,z)都可以画出曲面图像

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号