• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Matlab
  • 标签: matlab  加窗  干涉  

资源简介

matlab加窗程序,包括矩形窗、三角窗、汉明、汉宁窗、高斯窗等,还有干涉图的生成,傅里叶变换

资源截图

代码片段和文件信息

%% 模拟干涉图并进行不同窗函数切趾处理,再对处理结果进行傅里叶变换求光谱
clc;
clear;
close all;
fs = 100; 
N = 512; 
t = (0:N-1)/fs;    %采样频率 采样点数 采样时间序列s
a = 10;
w = 2; 
x0 = a*cos(2*pi*w*t);

xf0 = 2*abs(fft(x0));  % 如此处理,可以看到信号原来真实的幅度
xf0 = fftshift(xf0);  %将xf以y轴做对称,即将数据左右互换

figure;
subplot(211);
plot(x0);
xlim([0 512]);
title(‘模拟原始干涉图‘);
subplot(212);
plot(xf0);
xlim([0 512]);
title(‘未切趾‘);

%% 切趾函数
figure;
window1= boxcar(N); 
[h1w]=freqz(window11); 
subplot(311);  
stem(window1); %画窗函数
axis([0 520 0 2]); 
grid; 
xlabel(‘N‘);  
title(‘矩形窗函数‘); 

window2= triang(N); 
[h2w]=freqz(window21); 
subplot(312);  
stem(window2); %画窗函数
axis([0 520 0 2]);
grid; 
xlabel(‘N‘);  
title(‘三角窗函数‘); 


window3= hanning(N); 
[h3w]=freqz(window31); 
subplot(313);  
stem(window3); %画窗函数
axis([0 520 0 2]);
grid; 
xlabel(‘N‘);  
title(‘汉宁窗函数‘);

figure;
window4= hamming(N); 
[h4w]=freqz(window41); 
subplot(311);  
stem(window4); %画窗函数
axis([0 520 0 2]);
grid; 
xlabel(‘N‘);  
title(‘汉明窗函数‘);

window5= blackman(N); 
[h5w]=freqz(window51); 
subplot(312);  
stem(window5); %画窗函数
axis([0 520 0 2]);
grid; 
xlabel(‘N‘);  
title(‘布拉克曼窗函数‘);

window6= gausswin(N); 
[h6w]=freqz(window61); 
subplot(313);  
stem(window6); %画窗函数
axis([0 520 0 2]);
grid; 
xlabel(‘N‘);  
title(‘高斯窗函数‘);

%% 切趾后干涉图
x1=window1‘.*x0;
x2=window2‘.*x0;
x3=window3‘.*x0

评论

共有 条评论