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

📄 experiment1.m

📁 数字信号处理(西安电子科技大学出版社)实验一的程序
💻 M
字号:
p=1;
while(p)
s=input('Please Select The Step Of Experiment:1.时域采样序列分析,2.系统和响应分析,3.卷积定理的验证\n');
close all;
Xb=impseq(0,0,1);
Ha=stepseq(1,1,10);
Hb=impseq(0,0,3)+2.5*impseq(1,0,3)+2.5*impseq(2,0,3)+impseq(3,0,3);
i=0;
if s==1
    disp('时域采样序列分析');
    k=1;
    while(k)
        A=aminput;
        a=atinput;
        w=aninput;
        fs=fsinput;
        Xa=FF(A,a,w,fs);
        string1=('xa(n)=A*exp(-a*n*Ts)*sin(w*n*Ts)');
        string2=['fs=',num2str(fs)];
        i=i+1;
        figure(i)
        DFT1(Xa,50,string1,string2);
        k=input('是否继续第一部分:1.继续,0.退出\n');
    end
else if s==2
        disp('系统和响应分析')
        kk=1;
        while(kk) 
            i=i+1;
            ss=input('选择时域信号类型:1.x(b)通过h(b),2.系统h(a),3.长度为5的脉冲通过h(a)\n');
            switch ss          
            case 1
                m=conv(Xb,Hb);  %The response of the system
                N=5;
                figure(i)
                string=('hb(n)=delta(n)+2.5*delta(n-1)+2.5*delat(n-2)+delta(n-3)');
                Hs=DFT(Hb,4,string);         %hb的傅里叶变换
                i=i+1;
                figure(i)
                string=('xb(n)=delta(n)');
                DFT2(Xb,2,string);            %xb的傅里叶变换
                i=i+1;
                string1=('y(n)=xb(n)*hb(n)');
                string2=(' ');
            case 2 
                m=conv(Ha,Ha);
                N=19;
                string1=('ha(n)=R10(n)');
                string2=('y(n)=ha(n)*ha(n)');
            case 3
                Xc=stepseq(1,1,5);
                m=conv(Xc,Ha);
                N=14;
                string1=('xc(n)=R5(n)');
                string2=('y(n)=xc(n)*ha(n)');
            end 
            figure(i)
            DFT1(m,N,string1,string2);
            kk=input('是否继续第二部分:1.继续,0.退出\n');
        end
    else if s==3
            A=1;a=0.5;w=2.0734;fs=1;
            Xa1=FF(A,a,w,fs);           
            i=1;           
            figure(i)
            string=('xa(n)=exp(-0.4*n)*sin(2*n)');
            [Xs,w]=DFT(Xa1,50,string);
            i=i+1;
            figure(i)
            string=('hb(n)=delta(n)+2.5*delta(n-1)+2.5*delat(n-2)+delta(n-3)');
            Hs=DFT(Hb,4,string);
            Ys=Xs.*Hs;
            y=conv(Xa1,Hb);
            N=53;
            i=i+1;
            figure(i)
            string=('y(n)=xa(n)*hb(n)');
            [yy,w]=DFT(y,N,string);
            i=i+1;
            figure(i)
           
            subplot(2,2,1)
            plot(w/pi,abs(yy));
            axis([-2 2 0 2]);
            xlabel('w/pi');
            ylabel('|Y(jw)|');
            title('FT[x(n)*h(n)]');
           
            subplot(2,2,3)
            plot(w/pi,abs(Ys));
            axis([-2 2 0 2]);
            xlabel('w/pi');
            ylabel('|Ys(jw)|');
            title('FT[xs(n)].FT[h(n)]');
        end
    end
end
p=input('是否继续实验:1.继续,0.退出\n');
end

⌨️ 快捷键说明

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