测井曲线fft matlab,Matlab编程实现FFT实践及频谱分析
.用Matlab产生正弦波,矩形波,以及白噪声信号,并显示各自时域波形图2.进行FFT变换,显示各自频谱图,其中采样率,频率、数据长度自选3.做出上述三种信号的均方根图谱,功率图谱,以及对数均方根图谱4.用IFFT傅立叶反变换恢复信号,并显示恢复的正弦信号时域波形图
源程序%*************************************************************************%
% FFT实践及频谱分析%
%*************************************************************************%
%*************************************************************************%
%***************1.正弦波****************%
fs=100;%设定采样频率N=128;
n=0:N-1;
t=n/fs;
f0=10;%设定正弦信号频率%生成正弦信号x=sin(2*pi*f0*t);
figure(1);
subplot(231);
plot(t,x);%作正弦信号的时域波形xlabel('t');
ylabel('y');
title('正弦信号y=2*pi*10t时域波形');
grid;
%进行FFT变换并做频谱图y=fft(x,N);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(1);
subplot(232);
plot(f,mag);%做频谱图axis([0,100,0,80]);
xlabel('频率(Hz)');
ylabel('幅值');
title('正弦信号y=2*pi*10t幅频谱图N=128');
grid;
%求均方根谱sq=abs(y);
figure(1);
subplot(233);
plot(f,sq);
xlabel('频率(Hz)');
ylabel('均方根谱');
title('正弦信号y=2*pi*10t均方根谱');
grid;
%求功率谱power=sq.^2;
figure(1);
subplot(234);
plot(f,power);
xlabel('频率(Hz)');
ylabel('功率谱');
title('正弦信号y=2*pi*10t功率谱');
grid;
%求对数谱ln=log(sq);
figure(1);
subplot(235);
plot(f,ln);
xlabel('频率(Hz)');
ylabel('对数谱');
title('正弦信号y=2*pi*10t对数谱');
grid;
%用IFFT恢复原始信号xifft=ifft(y);
magx=real(xifft);
ti=[0:length(xifft)-1]/fs;
figure(1);
subplot(236);
plot(ti,magx);
xlabel('t');
ylabel('y');
title('通过IFFT转换的正弦信号波形');
grid;
%****************2.矩形波****************%
fs=10;%设定采样频率t=-5:0.1:5;
x=rectpuls(t,2);
x=x(1:99);
figure(2);
subplot(231);
plot(t(1:99),x);%作矩形波的时域波形xlabel('t');
ylabel('y');
title('矩形波时域波形');
grid;
%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(2);
subplot(232);
plot(f,mag);%做频谱图xlabel('频率(Hz)');
ylabel('幅值');
title('矩形波幅频谱图');
grid;
%求均方根谱sq=abs(y);
figure(2);
subplot(233);
plot(f,sq);
xlabel('频率(Hz)');
ylabel('均方根谱');
title('矩形波均方根谱');
grid;
%求功率谱power=sq.^2;
figure(2);
subplot(234);
plot(f,power);
xlabel('频率(Hz)');
ylabel('功率谱');
title('矩形波功率谱');
grid;
%求对数谱ln=log(sq);
figure(2);
subplot(235);
plot(f,ln);
xlabel('频率(Hz)');
ylabel('对数谱');
title('矩形波对数谱');
grid;
%用IFFT恢复原始信号xifft=ifft(y);
magx=real(xifft);
ti=[0:length(xifft)-1]/fs;
figure(2);
subplot(236);
plot(ti,magx);
xlabel('t');
ylabel('y');
title('通过IFFT转换的矩形波波形');
grid;
%****************3.白噪声****************%
fs=10;%设定采样频率t=-5:0.1:5;
x=zeros(1,100);
x(50)=100000;
figure(3);
subplot(231);
plot(t(1:100),x);%作白噪声的时域波形xlabel('t');
ylabel('y');
title('白噪声时域波形');
grid;
%进行FFT变换并做频谱图y=fft(x);%进行fft变换mag=abs(y);%求幅值f=(0:length(y)-1)'*fs/length(y);%进行对应的频率转换figure(3);
subplot(232);
plot(f,mag);%做频谱图xlabel('频率(Hz)');
ylabel('幅值');
title('白噪声幅频谱图');
grid;
%求均方根谱sq=abs(y);
figure(3);
subplot(233);
plot(f,sq);
xlabel('频率(Hz)');
ylabel('均方根谱');
title('白噪声均方根谱');
grid;
%求功率谱power=sq.^2;
figure(3);
subplot(234);
plot(f,power);
xlabel('频率(Hz)');
ylabel('功率谱');
title('白噪声功率谱');
grid;
%求对数谱ln=log(sq);
figure(3);
subplot(235);
plot(f,ln);
xlabel('频率(Hz)');
ylabel('对数谱');
title('白噪声对数谱');
grid;
%用IFFT恢复原始信号xifft=ifft(y);
magx=real(xifft);
ti=[0:length(xifft)-1]/fs;
figure(3);
subplot(236);
plot(ti,magx);
xlabel('t');
ylabel('y');
title('通过IFFT转换的白噪声波形');
grid;
测井曲线fft matlab,Matlab编程实现FFT实践及频谱分析相关推荐
- matlab fftshift_matlab下实现FFT信号分析
奈奎斯特定理: 对于信号分析,我们需要掌握一个定理: 在进行模拟/数字信号的转换过程中,当采样频率 fs.max大于信号中最高频率 fmax 的 2 倍时(fs.max > 2fmax),采样之 ...
- matlab2c使用c++实现matlab函数系列教程-fft函数
全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 matlab库函数大全 matlab2c基础教程 matlab2c开发全解教程 matlab2c调用方法: 1.下载动态链接库 2. ...
- 利用matlab对音频做FFT进行频谱分析
利用matlab对音频的左右声道做频谱分析. syms y fs; syms in_put; in_put= 'C:\Users\getao\Desktop\立体声.wav' %in_put 为音频文 ...
- matlab fft实现dft,matlab实现dft和fft
对任意长度的序列进行傅里叶变换 DFT 与 FFT 的运算时间比较 设计要求 利用 Matlab 或者 C 语言设计 DFT 和 FFT 程序,比较两种频谱分析方法的 计算速度,并与...... DF ...
- 如何避免FFT(matlab)计算傅里叶级数与傅里叶变换时存在的混叠(aliasing)和泄露(leakage)问题
文章目录 前言 1. 周期信号的傅里叶级数 1.1 周期信号的多种傅里叶表示形式 1.2 周期信号傅里叶级数系数的计算 2 非周期信号的傅里叶变换 2.1 非周期信号的傅里叶变换 2.2 傅里叶级数与 ...
- DFT的计算、FFT的基础代码、FFT的横纵坐标问题(matlab)
FFT的定义 FFT:快速傅里叶变换,是DFT的快速算法. DFT(Discrete Fourier Transform):离散傅里叶变换.在DTFT之后,将傅里叶变换的结果也进行离散化,就是DFT. ...
- matlab并行fft实现,matlab fft实现相关
Matlab中用于计算自相关函数的指令是xcorr.比如矩阵A=[1 2 3]; xcorr(A)=3.0000 8.0000 14.0000 8.0000 3.0000 自相关函数是信号间隔的函数, ...
- matlab fft反变换,Matlab实现FFT变换
Matlab实现FFT变换 Matlab实现FFT变换(单边谱及双边谱) 以前对于Fourier Transform从来没有细究,不管在LabVIEW还是Matlab里都有现成的FFT(快速Fo ...
- matlab对一行矩阵fft,MATLAB?fft命令
%对y(1)取虚部 ================================================================ 函数fft的调用格式: *Y=fft(X) 返回应 ...
- 十分钟搞懂基-2 FFT原理及编程思想
0.写在最前 写本文的目的一是为了帮人理清FFT算法思路,二是有几个疑问(在5总结部分提到)希望得到解答.看懂本文的基础:至少听说过.简单了解过傅里叶变换.离散傅里叶变换(DFT).基于时间抽取的基2 ...
最新文章
- 泰晤士最新排名出炉,这两所大学跌惨了
- 推荐65个以自然风光为背景的UI设计
- setleft android,android TextView的setCompoundDrawables()方法
- VTK:字形2D用法实战
- python在租房过程中的应用
- 判断线段和直线相交 POJ 3304
- html层次选择器例题,详解强大的jQuery选择器之基本选择器、层次选择器
- 【图解】透彻Java线程状态转换
- ext4 关闭延迟分配
- oracle 多路径 SAN,前言 - Oracle Solaris 管理:SAN 配置和多路径
- tomcat测试程序的安装
- 个人实践:总结方法论,提高做事效率
- 广州蓝景分享—「web前端素材」使用CSS动画效果(上)
- R语言t检验中手动计算t值和p值
- 超详细wordPress主题制作教程
- 网页引入谷歌字体_在网页中使用Google字体
- 项羽ol网站服务器,《项羽OL》今日开服 全新新服务器“巨鹿之战”开启
- 【微前端】591- 微前端在小米 CRM 系统的实践
- 百度地图android HD版,百度地图HD版
- POJ3414-Pots