matlab 十倍频程,Matlab关于三分之一倍频程程序的问题
以下是我学习编写的一个MATLAB关于三分之一倍频程处理的程序,但是我得到的结果跟我同事用flexpro得到的结果总是差上几倍,现在把他贴出来,请各位高手指教!!
%三分之一倍频程处理
%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear
clc
close all hidden
%%%%%%%%%%%%%%%%%%%%%%
fni=input('三分之一倍频程处理-输入数据文件名:','s');
fid=fopen(fni,'r');
sf = fscanf(fid,'%f',1); %采样频率
fno = fscanf(fid,'%s',1); %输出数据文件名
x = fscanf(fid,'%f',[1,inf]); %按行输入数据
status=fclose(fid);
%%定义三分之一倍频程的中心频率
f=[1.00 1.25 1.60 2.00 2.50 3.15 4.00 5.00 6.30 8.00];
fc=[f,10*f,100*f,1000*f,10000*f];
%中心频率与下线频率的比值
oc6=2^(1/6);
%%取中心频率总的长度
nc=length(fc);
%%%取输入数据的长度
n=length(x);
%%大于并最接近n的2的幂次方长度
nfft=2^nextpow2(n);
%%进行FFT变换
a=fft(x,nfft);
for j=1:nc
fl=fc(j)/oc6; %下限频率
fu=fc(j)*oc6; %上限频率
nl=round(fl*nfft/sf+1); %下限频率对应的序号
nu=round(fu*nfft/sf+1); %上限频率对应的序号
%如果上限频率大于折叠频率则循环中断
if fu>sf/2
m=j-1; break;
end
%%%以每个中心频率段为通带进行带通频域滤波
b=zeros(1,nfft);
b(nl:nu)=a(nl:nu);
b(nfft-nu+1:nfft-nl+1)=a(nfft-nu+1:nfft-nl+1);
c=ifft(b,nfft);
%计算对应每个中心频率段的有效值
yc(j)=sqrt(var(real(c(1:n))));
end
%%绘制输入时程曲线图形
subplot(2,1,1);
t=0:1/sf:(n-1)/sf;
plot(t,x);
xlabel('时间(S)');
ylabel('加速度(g)');
grid on;
%%绘制三分之一倍频程数据
subplot(2,1,2);
plot(fc(1:m),yc(1:m));
xlabel('频率(HZ)');
ylabel('有效值');
grid on;
%%%打开文件输出三分之一倍频程数据
fid=fopen(fno,'w');
for k=1:m
fprintf(fid,'%f %f\n',fc(k),yc(k));
end
status=fclose(fid);
2009-11-23 22:05 上传
点击文件名下载附件
28.21 KB, 下载次数: 15054
matlab 十倍频程,Matlab关于三分之一倍频程程序的问题相关推荐
- 基于MATLAB的频谱、能量谱、三分之一倍频程分析
目录 1. 相关概念介绍 2. 代码实现 3. 场景仿真: [若觉文章质量良好且有用,请别忘了点赞收藏加关注,这将是我继续分享的动力,万分感谢!] 1. 相关概念介绍 以信号为例,信号在时域下的图形可 ...
- matlab 三分之一倍频程,三分之一倍频程谱
三分之一倍频程谱是一种频率分析方法,它具有谱线少频带宽的特点. 倍频程实际上是频域分析中频率的一种相对尺度.倍频程谱是由一系列频率点以及对应这些频率点附近的频带内信号的平均幅值(有效值)所构成.这些频 ...
- matlab实现三分之一倍频程,三分之一倍频程程序
方法一:%A计权声压级频谱分析 clc; clear; close all; y=wavread('abc.wav'); fs=51200;%采样频率 p0=2e-5;%参考声压 f=[1.00 1. ...
- Python在振动信号处理中的应用(十):三分之一倍频程谱的计算
文章目录 一.概述 二.算法原理 三.Python中算法实现 四.TIPS 一.概述 三分之一倍频程谱是一种频率分析方法,它具有谱线少频带宽的特点,常用于声学.人体振动.机械振动等测试分析以及频带 ...
- matlab求解参数线性规划问题,实验三十用MATLAB求解线性规划问题
<实验三十用MATLAB求解线性规划问题>由会员分享,可在线阅读,更多相关<实验三十用MATLAB求解线性规划问题(27页珍藏版)>请在人人文库网上搜索. 1.实验三十 用MA ...
- matlab 摄像头拍照,matlab摄像头拍照
图像采集: 该单元是指道路上安装的摄像头在检测到有车辆通过的同时进行 拍照并...在 MATLAB 中我们可以调用 im2gray 函数对图像进行灰度化处理. 4.2.2图像的...... 2 车辆牌 ...
- Matlab矩阵填充--Matlab interp2
Matlab interp2 为Matlab的矩阵填充函数, 填充关系: x=1:11; y=1:13; x1=1:0.1:12; y1=1:0.1:14; [x2,y2]=meshgrid(x1,y ...
- matlab窗函数 响应,matlab窗函数设计方案.doc
matlab窗函数设计方案 PAGE \* MERGEFORMAT PAGE \* MERGEFORMAT 13 目录 TOC \o "1-3" \h \u HYPERLINK \ ...
- matlab 工具箱查询,matlab常用工具箱、函数查询及相关应用
工具 常用工具箱 MATLAB包括拥有数百个内部函数的主包和三十几种工具包.工具包又可以分为功能性工具包和学科工具包.功能工具包用来扩充MATLAB的符号计算,可视化建模仿真,文字处理及实时控制等功能 ...
最新文章
- 前腾讯AI Lab负责人张潼加入创新工场,任港科大创新工场联合实验室主任
- awk的集合操作实现
- [转]学习Objective-C: 入门教材
- Cannot send session cache limiter - headers already sent错误解决方法
- 微信公众平台开发:进阶篇(Web App开发入门)
- 从上百幅架构图中学大型网站建设经验(上)
- 如何提高Google Adsense单价:点击率篇
- Python的小数据存储,用什么格式更有逼格?
- JavaScript中对于函数的形参实参个数匹配是如何做的?
- leetcode—20.二叉树构建相关题目leetcode总结
- RabbitMQ 概念
- Mac使用RDC远程连接Windows并传输文件
- 7 位 CEO 创业自述:你熬过人生中最黑暗时刻的经历,是你成为强者的必然选择...
- Zabbix5系列-监控惠普服务器iLO管理口 (六)
- Day10--路由嵌套+项目前后台搭建
- python contains 正则_Python 正则表达式
- 第11章实验1:学生成绩管理系统V4.0(C语言)
- Java通过jacob生成动态word,还有一种方法通过word书签实现
- 回归基础 java基础数据 数据处理
- 华为面试题库c语言,华为校园招聘c语言面试题集.doc
热门文章
- 用sql解析通达信二进制day文件,得到历史股价数据
- java小游戏龟兔赛跑,Java_多线程_简单模拟龟兔赛跑
- 此生不戒多巴胺-冲刺日志(第九天)
- 火车到站查询api 站到站查询数据
- 计算机组成原理 GPT原理
- 使用canvas绘制扇形图
- 《计算机应用基础》教案,《计算机应用基础》公开课教案
- 用python画汽车_太震撼了,我用 Python 画出了全北京的公交线路动图
- SBSGAN: Suppression of Inter-Domain Background Shift for Person Re-Identification 论文笔记 ReId-UDA(一)
- 汽车车牌识别系统实现(一)–车牌识别的步骤