⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 addzerosdft.m

📁 补零离散傅立叶变换
💻 M
字号:
% AddZerosDFT


% x(n)=2*cos(2*pi*f1*n)+cos(2*pi*f2*n)

clc;
clear;
Repeat = 1;
disp('高密度谱VS高分辨谱')
disp('采用序列x(n)=2*cos(2*pi*f1*n)+cos(2*pi*f2*n)')
while Repeat == 1
    clc;
    clear;
    f1 = input('f1=');
    f2 = input('f2=');
    disp('为满足Nyquist定理,采样点数N>=(k1/f1,k2/f2)的最小公倍数');
    M = input('请输入小于该值    :M=');
    N = input('请输入大于等于该值:N=');
    
    n1 = 0:M-1;
    x1 = 2*cos(2*pi*f1*n1)+cos(2*pi*f2*n1);
    X1 = dft(x1,M);
    k1 = 0:M-1;
    w1 = 2*pi/M*k1;
    
    figure;
    subplot(2,3,1),stem(n1,x1),title('采样点不足');
    subplot(2,3,4),stem(w1/pi,abs(X1)),title('频谱');
    
    n2 = 0:N-1;
    x2(1:M) = x1;
    x2(M+1:N) = zeros(1,N-M);
    X2 = dft(x2,N);
    k2 = 0:N-1;
    w2 = 2*pi/N*k2;
    subplot(2,3,2),stem(n2,x2),title('补零');
    subplot(2,3,5),stem(w2/pi,abs(X2)),title('高密度频谱');
    
    n3 = 0:N-1;
    x3 = 2*cos(2*pi*f1*n3)+cos(2*pi*f2*n3);
    X3 = dft(x3,N);
    k3 = 0:N-1;
    w3 = 2*pi/N*k3;
    
    subplot(2,3,3),stem(n3,x3),title('采样点足够');
    subplot(2,3,6),stem(w3/pi,abs(X3)),title('高分辨率频谱');
    
    Repeat = input('Still want to repeat,Yes=1,No=0? Ans=');
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -