zoukankan      html  css  js  c++  java
  • 程序集合

    1. 小波变换

    程序1

    %%% 小波变换  %%%%%%
    
    %% 导入数据
    clc,clear
    close all;
    
    fs=1000;
    t=0:1/fs:2;
    f1=100;
    f2=50;
    s=sin(2*pi*f1*t)+sin(2*pi*f2*t);
    
    %% 画出图像
    figure (1);    %  时程信号绘图
    plot(t,s); 
    xlabel('t');
    ylabel('幅值');
    legend('正弦波');
    grid on;
    set(gcf,'color','white');       % 刷白
    saveas(gcf,'1.jpg');
    
    %% 小波变换
    wavename='cmor3-3';
    totalscal = 2048;
    wcf = centfrq(wavename);        % 小波的中心频率
    cparam = 2*wcf*totalscal;       % 为得到合适的尺度所求出的参数
    a = totalscal:-1:0.2; 
    scal = cparam./a;  % 得到各个尺度,以使转换得到频率序列为等差序列
    coefs=cwt(s,scal,wavename);      % 得到小波系数
    f=scal2frq(scal,wavename,1/fs);    % 将尺度转换为频率
    
    
    %% 绘制小波图像
    figure(2);                       % 占用子图位置
    % contour(t,f,abs(coefs));       % 设置等值线
    imagesc(t,f,abs(coefs));         % 绘制色谱图
    colorbar;                        % 设置色条
    xlabel('时间 t/mus');           % 时间轴
    ylabel('频率 f/Hz');             % 频域显示
    title('小波变换');               % 标题
    set(gca, 'YDir', 'normal')       % 频域轴翻转
    set(gcf,'color','white');        % 刷白
    saveas(gcf,'2.jpg');
    

    1.jpg-105.6kB
    2.jpg-32.8kB

    程序2

    %%% 小波变换  %%%%%%
    
    %% 导入数据
    clc,clear
    close all;
    fs=1000;
    t=0:1/fs:2;
    f1=100;
    f2=50;
    s=sin(2*pi*f1*t.*(t>0&t<=1))+sin(2*pi*f2*t.*(t>1&t<2));
    
    %% 绘制初始图像
    figure (1);    %  时程信号绘图
    plot(t,s); 
    xlabel('t');
    ylabel('幅值');
    legend('正弦波');
    grid on;
    set(gcf,'color','white');       % 刷白
    saveas(gcf,'1.jpg');
    
    %% 小波变换
    wavename='cmor3-3';
    totalscal = 2048;
    wcf = centfrq(wavename);        % 小波的中心频率
    cparam = 2*wcf*totalscal;       % 为得到合适的尺度所求出的参数
    a = totalscal:-1:0.2; 
    scal = cparam./a;  % 得到各个尺度,以使转换得到频率序列为等差序列
    coefs=cwt(s,scal,wavename);      % 得到小波系数
    f=scal2frq(scal,wavename,1/fs);    % 将尺度转换为频率
    
    %% 绘制小波图像
    figure(2);                       % 占用子图位置
    % contour(t,f,abs(coefs));       % 设置等值线
    imagesc(t,f,abs(coefs));         % 绘制色谱图
    colorbar;                        % 设置色条
    xlabel('时间 t');           % 时间轴
    ylabel('幅值');             % 频域显示
    title('小波变换');               % 标题
    set(gca, 'YDir', 'normal')       % 频域轴翻转
    set(gcf,'color','white');        % 刷白
    saveas(gcf,'2.jpg');
    

    1.jpg-113.6kB
    2.jpg-29.5kB

    程序3

    %%%%%%%%%%%%%% 小波变换  %%%%%%%%%%%%%%%%%%%%%%% 
    
    %% 导入数据
    clc,clear
    close all;
    
    fullname = '10.csv';  
    M = csvread(fullname,8);     % 读入csv信号
                                                                        
    t= M(:,1);                     % 第一列,时间
    dt=1E-7;                       % 采样时间
    fs = 1/dt;                     % 采样频率
    w = M(:,2);                    % 第二列,位移
    
    %% 画出初始图像
    figure (1);                    % 时程信号绘图
    plot(t,w); 
    xlabel('t /mus');
    ylabel('位移 / mm');
    legend('位移');
    grid on;
    set(gcf,'color','white');       % 刷白
    saveas(gcf,'1.jpg');
    
    %% 小波变换
    wavename='morl';
    totalscal = 2048;
    wcf = centfrq(wavename);        % 小波的中心频率
    cparam = 2*wcf*totalscal;       % 为得到合适的尺度所求出的参数
    a = totalscal:-1:0.2; 
    scal = cparam./a;                % 得到各个尺度,以使转换得到频率序列为等差序列
    coefs=cwt(w,scal,wavename);      % 得到小波系数
    f=scal2frq(scal,wavename,1/fs);    % 将尺度转换为频率
    
    %% 绘制小波图像
    figure(2);                       % 占用子图位置
    % contour(t,f,abs(coefs));         % 设置等值线
    imagesc(t,f,abs(coefs));         % 绘制色谱图
    colorbar;                        % 设置色条
    xlabel('时间 t/mus');           % 时间轴
    ylabel('频率 f/Hz');             % 频域显示
    title('小波变换');               % 标题
    axis([0,30,5e3,1e6]);            %设置x,y轴范围
    set(gca, 'YDir', 'normal')       % 频域轴翻转
    set(gcf,'color','white');        % 刷白
    saveas(gcf,'2.jpg');
    

    1.jpg-33.8kB
    2.jpg-35.4kB

    程序4

    t = 0:1/2000:1-1/2000;
    dt = 1/2000;
    x1 = sin(50*pi*t).*exp(-50*pi*(t-0.2).^2);
    x2 = sin(50*pi*t).*exp(-100*pi*(t-0.5).^2);
    x3 = 2*cos(140*pi*t).*exp(-50*pi*(t-0.2).^2);
    x4 = 2*sin(140*pi*t).*exp(-80*pi*(t-0.8).^2);
    x = x1+x2+x3+x4;
    figure;
    plot(t,x)
    title('Superimposed Signal');
    figure;
    cwt(x,2000);
    title('Analytic CWT using Default Morse Wavelet');
    

    abc.png-14.4kB
    a1c.png-38.3kB

    2. 短时傅立叶变换

    程序1

    %% 导入数据
    clc,clear
    close all;
    
    fullname = '10.csv';  
    M = csvread(fullname,8,0);     % 读入csv信号
                                                                        
    t= M(:,1);                     % 第一列,时间
    dt=1E-7;                       % 采样时间
    fs = 1/dt;                     % 采样频率
    w = M(:,2);                    % 第二列,位移
    
    %% 画出初始图像
    figure (1);                    % 时程信号绘图
    plot(t,w); 
    xlabel('t /mus');
    ylabel('位移 / mm');
    legend('位移');
    grid on;
    set(gcf,'color','white');       % 刷白
    saveas(gcf,'1.jpg');
    
    %% STFT
    win=128;
    nooverlap=win-2;
    nfft=128;
    [S,F,T] = spectrogram(w,win,nooverlap,nfft,fs);
    imagesc(t,w,abs(S));
    saveas(gcf,'2.jpg')
    axis([0,30,-0.5e-5,0])
    

    1.jpg-33.8kB
    2.jpg-20.2kB

    程序2

    %% 导入数据
    clc,clear
    close all;
    
    fullname = '10.csv';  
    M = csvread(fullname,8,0);     % 读入csv信号
                                                                        
    t= M(:,1);                     % 第一列,时间
    dt=1E-7;                       % 采样时间
    fs = 1/dt;                     % 采样频率
    w = M(:,2);                    % 第二列,位移
    
    %% 画出初始图像
    figure (1);                    % 时程信号绘图
    plot(t,w); 
    xlabel('t /mus');
    ylabel('位移 / mm');
    legend('位移');
    grid on;
    set(gcf,'color','white');       % 刷白
    saveas(gcf,'1.jpg')
    

    1.jpg-33.8kB
    2.jpg-93.4kB
    3.jpg-37.3kB

  • 相关阅读:
    模式识别 第一章 概论
    高等代数9 欧几里得空间
    离散数学6 初等数论
    高等代数6 线性空间
    高等代数5 二次型
    GMOJ 6870. 【2020.11.17提高组模拟】ckw的树 (tree)
    1
    Virtual Tree 学习笔记
    [2020.11.14提高组模拟] 鬼渊传说(village)
    企业购置新车,各项费用会计入账以及案例分析
  • 原文地址:https://www.cnblogs.com/kolane/p/11537938.html
Copyright © 2011-2022 走看看