file=dir('D:\测量数据\20180928涂层侧\3#-涂层侧检测-10M\3#-涂层侧检测-10M\*.txt');
for n=1:length(file)
temp=dlmread(['D:\测量数据\20180928涂层侧\3#-涂层侧检测-10M\3#-涂层侧检测-10M\',file(n).name],' ',0,1);
eval([file(n).name(1:end-4),'=temp;'])
end
% clc;
% clear all;
% close all;
% load freqbrk; %调入含突变点的信号
x=x140y114;
N=length(x); t=1:N;
title('原始信号')
% subplot(121);
plot(t,x,'LineWidth',2);title('原始信号');
xlabel('时间 t/s');ylabel('幅值 A');
figure;
[c,l] = wavedec(x,6,'db5'); %一维小波分解
a6 = wrcoef('a',c,l,'db5',6); %重构第6层逼近系数
%重构第1~6层细节系数
d6 = wrcoef('d',c,l,'db5',6);
d5 = wrcoef('d',c,l,'db5',5);
d4 = wrcoef('d',c,l,'db5',4);
d3 = wrcoef('d',c,l,'db5',3);
d2 = wrcoef('d',c,l,'db5',2);
d1 = wrcoef('d',c,l,'db5',1);
%显示重构系数和细节系数
% subplot(4,2,1);
plot(d1,'LineWidth',2);xlabel('时间t');ylabel('幅值A');title('第1层高频细节分量');
figure;
% subplot(4,2,2);
plot(d2,'LineWidth',2);xlabel('时间t');ylabel('幅值A');title('第2层高频细节分量');
figure;
% subplot(4,2,3);
plot(d3,'LineWidth',2);xlabel('时间t');ylabel('幅值A');title('第3层高频细节分量');
figure;
% subplot(4,2,4);
plot(d4,'LineWidth',2);xlabel('时间t');ylabel('幅值A');title('第4层高频细节分量');
figure;
% subplot(4,2,5);
plot(d5,'LineWidth',2);xlabel('时间t');ylabel('幅值A');title('第5层高频细节分量');
figure;
% subplot(4,2,6);
plot(d6,'LineWidth',2);xlabel('时间t');ylabel('幅值A');title('第6层高频细节分量');
figure;
% subplot(4,2,7);
plot(a6,'LineWidth',2);xlabel('时间t');ylabel('幅值A');title('第6层低频信号分量');
% figure;
% plot(d1,'LineWidth',2);hold on;
% plot(d2,'LineWidth',2);hold on;
% plot(d3,'LineWidth',2);hold on;
% plot(d4,'LineWidth',2);hold on;
% plot(d5,'LineWidth',2);hold on;
% plot(d6,'LineWidth',2);hold on;
% plot(a6,'LineWidth',2);hold on;
% xlabel('时间t');ylabel('幅值A');
clf;
fs=100;N=128; %采样频率和数据点数
n=0:N-1;t=n/fs; %时间序列
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号
y=fft(x,N); %对信号进行快速Fourier变换
mag=abs(y); %求得Fourier变换后的振幅
f=n*fs/N; %频率序列
subplot(2,2,1),plot(f,mag); %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on;
subplot(2,2,2),plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('N=128');grid on;
%对信号采样数据为1024点的处理
fs=100;N=1024;n=0:N-1;t=n/fs;
x=0.5*sin(2*pi*15*t)+2*sin(2*pi*40*t); %信号
y=fft(x,N); %对信号进行快速Fourier变换
mag=abs(y); %求取Fourier变换的振幅
f=n*fs/N;
subplot(2,2,3),plot(f,mag); %绘出随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('N=1024');grid on;
subplot(2,2,4)
plot(f(1:N/2),mag(1:N/2)); %绘出Nyquist频率之前随频率变化的振幅
xlabel('频率/Hz');
ylabel('振幅');title('N=1024');grid on;
% t=0:1/256:1;%采样步长
%
% y= 2+3*cos(2*pi*50*t-pi*30/180)+1.5*cos(2*pi*75*t+pi*90/180);
%
% N=length(t); %样点个数
%
% plot(t,y);
%
% fs=256;%采样频率
%
% df=fs/(N-1);%分辨率
%
% f=(0:N-1)*df;%其中每点的频率
%
% Y=fft(y(1:N))/N*2;%真实的幅值
%
% %Y=fftshift(Y);
%
% figure(2)
%
% plot(f(1:N/2),abs(Y(1:N/2)));
% % 创建具有 15 Hz 和 40 Hz 分量频率的信号,并插入随机高斯噪声。
%
% fs = 100; % sample frequency (Hz)
% t = 0:1/fs:10-1/fs; % 10 second span time vector
% x = (1.3)*sin(2*pi*15*t) ... % 15 Hz component
% + (1.7)*sin(2*pi*40*(t-2)) ... % 40 Hz component
% + 2.5*gallery('normaldata',size(t),4); % Gaussian noise;
% % 信号的傅里叶变换可确定其频率分量。在 MATLAB? 中,fft 函数使用快速傅里叶变换算法计算傅里叶变换。使用 fft 计算信号的离散傅里叶变换。
%
% y = fft(x);
% % 将功率频谱绘制为频率的函数。尽管噪声在基于时间的空间内伪装成信号的频率分量,但傅里叶变换将其显现为功率尖峰。
%
% n = length(x); % number of samples
% f = (0:n-1)*(fs/n); % frequency range
% power = abs(y).^2/n; % power of the DFT
%
% plot(f,power)
% xlabel('Frequency')
% ylabel('Power')
%
% % 在许多应用中,查看以 0 频率为中心的功率频谱更加方便,因为它能更好地显示信号的周期性。使用 fftshift 函数对 y 执行循环平移,并绘制以 0 为中心的功率。
%
% y0 = fftshift(y); % shift y values
% f0 = (-n/2:n/2-1)*(fs/n); % 0-centered frequency range
% power0 = abs(y0).^2/n; % 0-centered power
%
% plot(f0,power0)
% xlabel('Frequency')
% ylabel('Power')