• 《DSP using MATLAB》Problem 5.5


    代码:

    %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    %%            Output Info about this m-file
    fprintf('
    ***********************************************************
    ');
    fprintf('        <DSP using MATLAB> Problem 5.5 
    
    ');
    
    banner();
    %% ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    
    % ----------------------------------------------
    %    1  x1(n)=5sin(0.1pi*n)   n=[0:19], N=40
    % ----------------------------------------------
    L = 20; n = [0:L-1]; N = 40; %k1 = [0 : N-1];             % wave parameters
    
    xn_1 = [5*sin(0.1*pi*n), zeros(1, N-L)];
    
    N3 = 2*length(xn_1);
    xn_3 = [xn_1 xn_1];
    
    figure('NumberTitle', 'off', 'Name', 'P5.5 xn_1 and xn_3')
    set(gcf,'Color','white'); 
    subplot(2,1,1); stem([0:N-1], xn_1);
    xlabel('n'); ylabel('x(n)');
    title('xn1 sequence in Problem 5.3, N=40');  grid on;
    subplot(2,1,2); stem([0:N3-1], xn_3);
    xlabel('n'); ylabel('x(n)');
    title('xn3 sequence, N=80');  grid on;
    
    
    %% ------------------------------------------------------
    %%                 DFS(k) of xn1 sequence
    %% ------------------------------------------------------
    k1 = [0 : length(xn_1)-1];
    %k2 = [-N : N-1];
    %k3 = [-N/2 : N/2];
    Xk_1 = dfs(xn_1, N);                                         % DFS
    magXk = abs( [ Xk_1 ] );          % DFS magnitude
    angXk = angle( [Xk_1] )/pi;       % DFS angle
    
    figure('NumberTitle', 'off', 'Name', 'P5.5 DFS(k) of xn_1')
    set(gcf,'Color','white'); 
    subplot(2,1,1); stem(k1, magXk); %axis([-N/2, N/2, -0.5, 50.5]);
    xlabel('k'); ylabel('magnitude(k)');
    title('DFS magnitude of xn1, N=40');  grid on;
    subplot(2,1,2); stem(k1, angXk); %axis([-N/2, N/2, -0.5, 50.5]);
    xlabel('k'); ylabel('angle(k)');
    title('DFS angle of xn1, N=40');  grid on;
    
    
    %% ------------------------------------------------------------
    %%                 DFS(k) of xn3 sequence
    %% ------------------------------------------------------------
    k1 = [0 : N3-1];
    %k2 = [-N : N-1];
    %k3 = [-N3/2 : N3/2];
    Xk_3 = dfs(xn_3, N3);
    magXk_3 = abs( [Xk_3]);
    angXk_3 = angle( [Xk_3])/pi;
    
    figure('NumberTitle', 'off', 'Name', 'P5.5 DFS(k) of xn_3')
    set(gcf,'Color','white'); 
    subplot(2,1,1); stem(k1, magXk_3); %axis([-N/2, N/2, -0.5, 50.5]);
    xlabel('k'); ylabel('magnitude(k)');
    title('DFS magnitude of xn3, N=80');  grid on;
    subplot(2,1,2); stem(k1, angXk_3); %axis([-N/2, N/2, -0.5, 50.5]);
    xlabel('k'); ylabel('angle(k)');
    title('DFS angle of xn3, N=80');  grid on;
    

      运行结果:

            这里假设M=2,即原序列x1重复出现2次得到新序列x3。

     

    牢记: 1、如果你决定做某事,那就动手去做;不要受任何人、任何事的干扰。2、这个世界并不完美,但依然值得我们去为之奋斗。
  • 相关阅读:
    linux IP设置
    .net 5 json 序列化时间格式设置
    protobuf 到json的互转
    xml/json/protobuf转换时 ipv4 ipv6的特殊处理
    路由fib 数据结构
    protobufc xml 互转
    k/v/malloc
    skb相关路由信息
    shell 脚本
    考研级《计算机网络》知识梳理——第十六期
  • 原文地址:https://www.cnblogs.com/ky027wh-sx/p/9293076.html
Copyright © 2020-2023  润新知