这里我们直接展示补0的核心代码
生成三角波和反三角波
N=8;
n=0:7;
x1=zeros(size(n));
x2=zeros(size(n));
xa=(n>=0)&(n<=3);
x1(xa)=n(xa);
x2(xa)=4-n(xa);
xa=(n>=4)&(n<=7);
x1(xa)=8-n(xa);
x2(xa)=n(xa)-4;
对序列进行后面补0
tempx1=zeros(1,24);%创造一个1行24个0的序列
x11=[x1,tempx1];%将原本的x1序列和24个0的序列合并
tempx2=zeros(1,24);%创造一个1行24个0的序列
x22=[x2,tempx2];%将原本的x2序列和24个0的序列合并
完整代码
clear
close all
clc
N=8;
n=0:7;
x1=zeros(size(n));
x2=zeros(size(n));
xa=(n>=0)&(n<=3);
x1(xa)=n(xa);
x2(xa)=4-n(xa);
xa=(n>=4)&(n<=7);
x1(xa)=8-n(xa);
x2(xa)=n(xa)-4;
N2=32;
n2=0:31;
tempx1=zeros(1,24);
x11=[x1,tempx1];
tempx2=zeros(1,24);
x22=[x2,tempx2];
fp11=fft(x11);
fp11=abs(fp11);
fp22=fft(x22);
fp22=abs(fp22);
subplot(2,2,1);stem(n2,x11);xlabel('n');ylabel('时域特性');title('补0后三角波序列');
subplot(2,2,2);stem(n2,fp11);xlabel('n');ylabel('幅频特性');title('补0后三角波序列');
subplot(2,2,3);stem(n2,x22);xlabel('n');ylabel('时域特性');title('补0后反三角波序列');
subplot(2,2,4);stem(n2,fp22);xlabel('n');ylabel('幅频特性');title('补0后反三角波序列');