信号与系统MATLAB数字信号处理东南大学短学期作业一.docx
- 文档编号:10864679
- 上传时间:2023-02-23
- 格式:DOCX
- 页数:24
- 大小:184.83KB
信号与系统MATLAB数字信号处理东南大学短学期作业一.docx
《信号与系统MATLAB数字信号处理东南大学短学期作业一.docx》由会员分享,可在线阅读,更多相关《信号与系统MATLAB数字信号处理东南大学短学期作业一.docx(24页珍藏版)》请在冰豆网上搜索。
信号与系统MATLAB数字信号处理东南大学短学期作业一
实验一
二、1.
>>A=[1,2,3;4,5,6;7,8,9]
A=
123
456
789
3.
>>B=[9,8,7;6,5,4;3,2,1]
B=
987
654
321
>>C=[4,5,6;7,8,9;1,2,3]
C=
456
789
123
4.
>>A
A=
123
456
789
>>B
B=
987
654
321
>>C
C=
456
789
123
三、1.>>A=[1,2,3];B=[4,5,6];
>>C=A+B
C=
579
>>D=A-B
D=
-3-3-3
>>E=A.*B
E=
41018
>>F=A./B
F=
0.25000.40000.5000
>>G=A.^B
G=
132729
>>stem(A)
>>stem(B)
>>stem(C)
>>stem(D)
>>stem(E)
>>stem(F)
>>stem(G)
2.
(1)
>>fori=1:
10000
t(i)=(i-1)/1000;
f(i)=3-exp(-t(i));
end
plot(t,f)
(2)
>>fori=1:
10000
t(i)=(i-1)/1000;
f(i)=5*exp(-t(i))+3*exp(-2*t(i));
end
plot(t,f)
(3)
>>fori=1:
3000
t(i)=(i-1)/1000;
f(i)=exp(-t(i))*sin(2*pi*t(i));
end
plot(t,f)
(4)
>>fori=1:
3000
t(i)=(i-1)/1000;
f(i)=sin(3*t(i))/(3*t(i));
end
plot(t,f)
(5)
>>clear
>>fori=1:
6
k(i)=i;
f(i)=(-2)^(-k(i));
end
>>stem(k,f)
(6)
>>clear
>>fori=1:
5
k(i)=i-1;
f(i)=exp(k(i));
end
>>stem(k,f)
(7)
>>clear
>>fori=1:
99
k(i)=i;
f(i)=k(i);
end
>>stem(k,f)
四、
1.
>>clear
A=[2,3,1;1,1,1;3,-1,-1];B=[11;6;-2];
>>x=A\B
x=
1.0000
2.0000
3.0000
2.
A=[1,1,1;1,-2,1;1,2,3];B=[2;-1;-1];
>>x=A\B
x=
3
1
-2
3.
A=[1,1,0;0,1,1;1,0,1];B=[27;33;30];
>>x=A\B
x=
12
15
18
实验二
二、
1.
%定义阶跃函数
function[r]=pulse(k)
%UNTITLED2Summaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
ifk<0
r=0;
else
r=1;
end
end
>>clear
>>fori=1:
10
k(i)=i-4;
f(i)=sin(k(i))*pulse(k(i));
end
>>stem(k,f)
2.>>fori=1:
10
k(i)=i-5;
f(i)=sin(k(i))+sin(pi*k(i));
end
>>stem(k,f)
3.>>clear
fori=1:
50
k(i)=i;
f(i)=k(i)*sin(k(i))*pulse(k(i)-3);
end
stem(k,f)
4.
clear
fori=1:
20
k(i)=i-10;
f(i)=(-1)^k(i)+(0.5)^k(i)*pulse(k(i));
end
>>stem(k,f)
七、
%直接调用conv函数
1.f1=[1,1,1,1];f2=[1,0.5,0.25,0.125,0.0625];
>>conv(f1,f2)
ans=
1.00001.50001.75001.87500.93750.43750.18750.0625
2.f1=[1,1,1,1];f2=[3,2,1];
>>conv(f1,f2)
ans=
356631
%自编卷积函数
function[y]=my_conv(a,b)
%UNTITLEDSummaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
lengtha=length(a);
lengthb=length(b);
len=lengtha+lengthb-1;
y=linspace(0,0,len);
fori=lengtha:
-1:
1
forj=lengthb:
-1:
1
y(i+j-1)=a(i)*b(j)+y(i+j-1);
end
end
end
1.f1=[1,1,1,1];f2=[1,0.5,0.25,0.125,0.0625];
>>my_conv(f1,f2)
ans=
1.00001.50001.75001.87500.93750.43750.18750.0625
2.f1=[1,1,1,1];f2=[3,2,1];
>>my_conv(f1,f2)
ans=
356631
实验三
只用DFT计算频谱
二、已知离散时间序列
x(k)={1,2,3,4,5,6,6,5,4,3,2,1}用DFTF、DFT计算频谱
1.DTFT法计算频谱
x=[1,2,3,4,5,6,6,5,4,3,2,1];
dtft=zeros(100);
fori=1:
100
w(i)=(i-50)/10;
fork=1:
12
dtft(i)=dtft(i)+x(k)*exp(-j*(k-1)*w(i));
end
end
subplot(1,2,1);
plot(w,abs(dtft),'r-');xlabel('w');ylabel('DTFT');title('幅频特性');
subplot(1,2,2);
plot(w,angle(dtft),'r-');xlabel('w');ylabel('DTFT');title('相频特性');
2.DFT法计算频谱
%法一:
直接调用fft函数语句
X=[1,2,3,4,5,6,6,5,4,3,2,1];
F=fftshift(fft(X,1000));
k=[-500:
499]*2*pi/1000;
subplot(1,2,1);
plot(k,abs(F),'b-')
xlabel('w');ylabel('DFT');title('幅频特性');
subplot(1,2,2);
plot(k,angle(F),'b-')
xlabel('w');ylabel('DFT');title('相频特性');
%法二:
自编程序计算
xk=[1,2,3,4,5,6,6,5,4,3,2,1];
N=12;
n=0:
N-1;
k=0:
N-1;
Xn=xk*exp(-j*2*pi/N).^(n'*k);%计算DFT
X=(Xn*exp(j*2*pi/N).^(n'*k))/N;%计算IDFT
subplot(1,2,2);stem(k,abs(Xn));title('|X(n)|');%画图
axis([-1,N,1.1*min(abs(Xn)),1.1*max(abs(Xn))]);%加坐标
subplot(1,2,1);stem(n,xk);title('x(k)');
axis([-1,N,1.1*min(xk),1.1*max(xk)]);
序列x(n)及其DFT变换
3.DTFT法与DFT法的比较
x=[1,2,3,4,5,6,6,5,4,3,2,1];
dtft=zeros(100);
fori=1:
100
w(i)=(i-50)/10;
fork=1:
12
dtft(i)=dtft(i)+x(k)*exp(-j*(k-1)*w(i));
end
end
subplot(1,2,1);
plot(w,abs(dtft),'r-');xlabel('w');title('幅频特性');
hold;
subplot(1,2,2);
plot(w,angle(dtft),'r-');xlabel('w');title('相频特性');
hold;
F=fftshift(fft(X,1000));
k=[-500:
499]*2*pi/1000;
subplot(1,2,1);
plot(k,abs(F),'b-')
hold;
subplot(1,2,2);
plot(k,angle(F),'b-')
三、用DFT法,计算下列信号的频谱
1.
%定义函数
function[y]=tripi(x)
%UNTITLEDSummaryofthisfunctiongoeshere
%Detailedexplanationgoeshere
if((-pi y=pi+x; elseif((0 y=pi-x; else y=0 end end %------------------------------------- fori=1: 1000 g(i)=tripi((2/1000*i-1)*pi); w(i)=(i-1)*0.2*pi; end fori=1001: 10000 g(i)=0; w(i)=(i-1)*0.2*pi; end G=fft(g)/1000; subplot(1,2,1); plot(w(1: 50),abs(G(1: 50))); xlabel('w');ylabel('G');title('幅度频谱'); subplot(1,2,2); plot(w(1: 50),angle(G(1: 50))) xlabel('w');ylabel('Fi');title('相位频谱'); 2. %定义函数 function[y]=cose(x) %UNTITLED2Summaryofthisfunctiongoeshere %Detailedexplanationgoeshere ifx<1&&x>-1 y=cos(pi*x/2); else y=0; end end %----------------------------------------- fori=1: 1000 g(i)=cose(2/1000*i-1); w(i)=(i-1)*0.2*pi; end fori=1001: 10000 g(i)=0; w(i)=(i-1)*0.2*pi; end G=fft(g)/1000; subplot(1,2,1); plot(w(1: 50),abs(G(1: 50))); xlabel('w');ylabel('G');title('幅度频谱'); subplot(1,2,2); plot(w(1: 50),angle(G(1: 50))) xlabel('w');ylabel('Fi');title('相位频谱'); 3. %定义函数 functiony=ee(x) ifx<0&&x>-1 y=1; elseifx>0&&x<1 y=-1; else y=0 end %----------------------------------------- fori=1: 1000 g(i)=ee(2/1000*i-1); w(i)=(i-1)*0.2*pi; end fori=1001: 10000 g(i)=0; w(i)=(i-1)*0.2*pi; end G=fft(g)/1000; subplot(1,2,1); plot(w(1: 50),abs(G(1: 50))); xlabel('w');ylabel('G');title('幅度频谱'); subplot(1,2,2); plot(w(1: 50),angle(G(1: 50))) xlabel('w');ylabel('Fi');title('相位频谱');
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号 系统 MATLAB 数字信号 处理 东南大学 学期 作业