例2-24 将单位阶跃序列u(n)分解为偶分量和奇分量

%2017/8/22日  星期二
%工程北629
%功能:数字信号的偶奇分解
%思想:使用evenodd函数对阶跃信号进行 偶奇分解

clear all; clc

%输入信号
n0 = 0;
n1 = -10;
n2 = +10;
n = [n1:n2];    %序号序列

%信号处理
x = sin(n);    %使用表达式生成阶跃信号
[xeven,xodd,m] = evenodd(x,n);  %进行偶奇分解
grid on

%输出信号
subplot(2,2,1),stem(n,x); xlabel('n'),ylabel('x(n)'),title('阶跃序列u(n)');  grid on
subplot(2,2,2),stem(m,xeven); xlabel('m'),ylabel('xeven(n)'),title('偶函数部分xeven');grid on   %绘制偶序列
subplot(2,2,3),stem(m,xodd);  xlabel('m'),ylabel('xodd(n)'),title('奇函数xodd');grid on

%总结:可以将信号分解:原信号 == 偶信号 + 奇信号

%{
    %奇偶函数
    %将该函数单独编写一个.m文件,命名为evenodd.m  然后该程序单独编写一个.m文件,放在同一个文件夹下,即可
    function [xe, xo, m] = evenodd(x,n)
    if any(imag(x) ~= 0)
        error('x is not a real sequence')
    end
    m = -fliplr(n);     %将序号反转
    m1 = min([m,n]); m2 = max([m,n]); m = m1:m2;    %创建新序号序列
    nm = n(1) - m(1); n1 = 1:length(n);
    x1 = zeros(1,length(m));    %创建空序列
    x1(n1 + nm) = x; x = x1;    
    xe = 0.5*(x + fliplr(x));   %偶序列
    xo = 0.5*(x - fliplr(x));   %奇序列
%}


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值