本帖最后由 Robinsonw 于 2016-1-13 21:47 编辑

大家好,我现在有2个扫频信号,一个输入a1Fsw,一个输出a1Fmf,然后希望通过PSD分析来确定它们的传递函数,采样频率1000Hz

%%主程序

a1=importdata('C:\XXXXXXX\CANOE000129.mat');读取实验结果

a1Fmf_Spannung=a1.Kraft_Signal;  %输出力(做实验的时候跟输入位移a1Weg有关)

a1Fsw_Spannung=a1.Fz_HL;         %输入力

a1Weg_Spannung=a1.Weg_Signal;    %输入位移(正弦线性扫频)

a1t=a1.Zeit_absolut; %数据采集时间变化

a1Weg=10./(2^16).*5.*a1Weg_Spannung*2; %把电压信号变成真实值

Punktnull1=mean(a1Weg(2:6000,1)); %计算出扫频信号和零点偏移值

a1WegNeu=a1Weg-Punktnull1;        % 把位移信号移动到零点

Anfangszahl=1113; %读出扫频信号起始点

Endzahl=18432; %读出扫频信号结束点

Input_tf=a1Fsw; %a1Fsw作为输入

Output_tf=a1Fmf;%a1Fmf作为输出

Nfft=8192;

t_start=1;

overlap=0.8;

window='hann';

x1=Input_tf;

x2=Output_tf;

% Fs=1000;

Fs=920.3350; %实验设置的时候Fs是1000Hz,但是得到结果的时候发现每个采集数据的时间间隔不是0.001秒,所以这里取平均间隔时间

[f1,psd_cross] = frequency_analysis(x1,x2,Fs,Nfft,overlap,window,t_start); %frequency_analysis函数具体见下面

[f2,psd_auto] = frequency_analysis(x1,x1,Fs,Nfft,overlap,window,t_start);

TFMFKompLinear=psd_cross./psd_auto; % 复数

VFamplitudeLinear=abs(TFMFKompLinear);%取模,得到传递函数幅值

VFampphaseLinear=angle(TFMFKompLinear);%取相位,得到传递函数相位

plot(f1,VFamplitudeLinear);

%%frequency_analysis函数(子程序)

function [f,psd] = frequency_analysis(x,y,Fs,Nfft,overlap,window,t_start)

%% Output Values

% f: frequencies of psd

% psd: power spectral density for frequencies f

% x: analyzed signal

% Fs: Sampling Frequency

% Nfft: Number of analyzed elements, best use with Nfft is of type 2^n

% window: set 'hann' for van Hann window, otherwise rectangular window

% t_start: Start time, make sure Fs*t_start+Nfft does not exceed size of x

% Calculate Start Point

t_start=t_start*Fs+1;

% Define Window

if  strcmp(window,'hann')

%     w1 = 2*sqrt(2/3)*hann(Nfft);

w1 = 2*hann(Nfft);

else

w1 = ones(Nfft,1);

end

N_L=length(x(t_start:end));

N_lap=floor(Nfft*overlap);

N_nolap=Nfft-N_lap;

K1=floor((N_L-N_lap)/N_nolap);

psd0=zeros(Nfft,1);

f=Fs/2*linspace(0,1,Nfft/2+1);

df=f(2)-f(1);

t_start=1;

for j1=1:K1

x_ausw=x(t_start+(j1-1)*N_nolap:t_start+Nfft-1+(j1-1)*N_nolap);

y_ausw=y(t_start+(j1-1)*N_nolap:t_start+Nfft-1+(j1-1)*N_nolap);

fft_x_aus=fft(x_ausw.*w1)/Nfft;

fft_y_aus=fft(y_ausw.*w1)/Nfft;

psd=(1/df)*2*(fft_y_aus.*conj(fft_x_aus));

psd0=psd0+psd;

end

psd0= psd0/K1;

psd = psd0(1:Nfft/2+1);

因为采集的数据a1Fmf_Spannung和a1Fsw_Spannung非常不好,理论上应该是两个幅值不变的正弦扫频信号,但是因为实验原因,最后的信号有毛刺,且有间断(具体的可以运行程序看下图),请问最后该如何修改frequency_analysis这个程序,能让我最终得到一个比较好的PSD结果,即在图上(plot(f1,VFamplitudeLinear)显示共振频率?多谢各位大神

2016-1-11 20:53 上传

点击文件名下载附件

3.04 MB, 下载次数: 3

采集的数据

扫频输入信号 matlab,扫频信号PSD分析相关推荐

  1. matlab时域信号如何分析方法,信号时域采样频谱分析(matlab)

    <信号时域采样频谱分析(matlab)>由会员分享,可在线阅读,更多相关<信号时域采样频谱分析(matlab)(12页珍藏版)>请在读根文库上搜索. 1.基于matlab的时域 ...

  2. 2FSK频谱matlab,2FSK信号的频谱分析及解调的实现.doc

    <数字信号处理> 课程设计报告 题 目:2FSK信号的频谱分析及解调的实现 专 业: 信息与计算科学 学 号: 组 长: 指导教师: 成 绩: 2010年1月8日 2FSK信号的频谱分析及 ...

  3. 《MATLAB语音信号分析与合成(第二版)》:第10章 语音信号的合成算法

    <MATLAB语音信号分析与合成(第二版)>:第10章 语音信号的合成算法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:重叠相加法语音合成 3. MATLAB仿真二:重叠存储 ...

  4. matlab 雷达信号分选 聚类_毫米波雷达信号产生和分析方案

    原标题:毫米波雷达信号产生和分析方案 汽车毫米波雷达收发系统主要包括发射机测试.接收机性能测试.以及抗干扰性能测试,发射机需要信号分析设备评估雷达发射信号的性能指标.接收机需要信号源模拟回波,从FMC ...

  5. matlab方波假频现象分析,基于MATLAB 的信号时域采样及频率混叠现象分析

    龙源期刊网 http://www.doczj.com/doc/7d04774eae45b307e87101f69e3143323968f58a.html 基于MATLAB 的信号时域采样及频率混叠现象 ...

  6. matlab语音信号分析实验报告,DSP实验二 语音信号分析与处理,南京理工大学紫金学院实验报告,信号与系统...

    实验二语音信号分析与处理 学号姓名 注:1)此次实验作为<数字信号处理>课程实验成绩的重要依据,请同学们认真.独立完成,不得抄袭. 2)请在授课教师规定的时间内完成: 3)完成作业后,请以 ...

  7. matlab信号频率分析实验报告,信号抽样实验报告

    大连理工大学实验报告 学院(系): 专业: 班级: 姓 名: 学号: 组: ___ 实验时间: 实验室: 实验台: 指导教师签字: 成绩: 实验三 信号抽样 一.实验目的 1 学会运用MATLAB 完 ...

  8. 《MATLAB语音信号分析与合成(第二版)》:第4章 语音信号的线性预测分析

    <MATLAB语音信号分析与合成(第二版)>:第4章 语音信号的线性预测分析 前言 1. 数据与函数路径设置 2. MATLAB仿真一:LPC的频谱分析 3. MATLAB仿真二:普通预测 ...

  9. 《MATLAB语音信号分析与合成(第二版)》:第8章 基音周期的估算方法

    <MATLAB语音信号分析与合成(第二版)>:第8章 基音周期的估算方法 前言 1. 数据与函数路径设置 2. MATLAB仿真一:基音周期提取的预处理 3. MATLAB仿真二:倒谱法的 ...

最新文章

  1. Python 之 Pandas (二)选择数据
  2. 自建Kubernetes集群如何使用弹性容器实例ECI
  3. js(三) ajax异步局部刷新技术底层代码实现
  4. Leet Code OJ 83. Remove Duplicates from Sorted List [Difficulty: Easy]
  5. python 文件格式转换_python实现txt文件格式转换为arff格式
  6. 数据结构——不相交集(并查集)
  7. 用计算机写作400字,电脑的自述作文400字(通用4篇)
  8. 查看linux文件目录的大小和文件夹包含的文件数
  9. IDEA 不提示报错 和有波浪线
  10. SCJP刷题学习笔记(Part six)
  11. android微信打不开怎么办,微信打不开怎么回事 微信打不开怎么办
  12. 基于mpvue创建微信小程序项目
  13. 狐妖小红娘服务器维护,3月7游戏更新公告 狐妖小红娘版本上线
  14. 排序算法(三)—— 插入法排序算法
  15. linux 卸载aria2,Linux一键安装Aria2 + AriaNg + Filebrowser
  16. Leetcode典型题解答和分析、归纳和汇总——T51(N皇后)
  17. 第一个项目的大概流程
  18. 在微型计算机中任何外部设备,微型计算机与外部设备之间的信息传输方式有( )。...
  19. 圆柱模板行业B2B站点打造MIP推送+熊掌号推送+历史普通推送插件
  20. 华为云CDN是怎么为你的下载加速保驾护航

热门文章

  1. 【leetcode】【套路题】476. Number Complement
  2. Selenium 八大定位,滚雪球学 Python 番外系列
  3. 理解Unity3D中的四种坐标体系
  4. 高并发系统架构设计之实战篇34:计数系统设计之计数器设计
  5. 软件安全-UltraEdit恢复带毒文档
  6. Codeigniter 框架添加phpRedisAdmin
  7. 新版仿网易云音乐的YY音乐微信小程序源码
  8. 用于语音识别的多任务自我监督学习(Multi-task self-supervised learning for robust speech recognition )
  9. Densenet(2018)
  10. Java多线程----java 对象锁(synchronized/lock)