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

📄 signal_hw.m

📁 这是信号分析课程中的作业
💻 M
字号:
clear               %清空工作空间
clc                 %清屏

dt=10^-3;
t=0:dt:200;
x1=(1+cos(0.5*2*pi*t)+cos(1.5*2*pi*t)).*cos(30*2*pi*t);
figure(1);
subplot(3,1,1);
plot(t,x1);axis([0 2 -3 3]);hold on;
plot([0,2],[0,0],'k');
title('中频窄带信号时域波形');
xlabel('时间 (us)');
ylabel('幅值');

x1_f=abs(fftshift(fft(x1,1024)));x1_frez=x1_f./max(x1_f);
subplot(3,1,3);
Frequency=(-(length(x1_frez)-1)/2:(length(x1_frez)-1)/2)*10^3/length(x1_frez);
bar(Frequency,x1_frez,0.01,'r');axis([-100 100 0 1.2]);
title('中频窄带信号归一化频谱');
xlabel('频率 (MHz)');
ylabel('归一化幅值');
set(gcf,'color','w');

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%对信号进行带通采样
%将带宽视为4MHz,可得到最佳采样频率8MHz,这样m=8,具体实现如下所示:
Fs=8;%采样频率(MHz)
T=1/Fs;n=0:200/T;
x2=(1+cos(0.5*2*pi*n*T)+cos(1.5*2*pi*n*T)).*cos(30*2*pi*n*T);
figure(2);
subplot(3,1,1);
stem(n*T,x2);axis([0 10 -3 3]);hold on;
plot([0,10],[0,0],'k');
title('中频窄带信号带通采样后时域波形');
xlabel('时间 (us)');
ylabel('幅值');
x_f=abs(fft(x2,1024));x_frez=x_f./max(x_f);
FFrequency=(-(length(x_frez)-1)/2:(length(x_frez)-1)/2)*8/length(x_frez);
subplot(3,1,3);
bar(FFrequency,x_frez,0.01,'r');axis([0 4 0 1.2]);
title('中频窄带信号带通采样后的归一化频谱');
xlabel('频率 (MHz)');
ylabel('归一化幅值');
set(gcf,'color','w');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%其后再将信号分为两路信号(I,Q)
figure(3);
f_tx=cos(2*pi*Fs/4*n*T);
f_zj=sin(2*pi*Fs/4*n*T);
x_I=x2.*f_tx;
x_Q=(1+cos(0.5*2*pi*n*T)+cos(1.5*2*pi*n*T)).*sin(30*2*pi*n*T).*f_zj;
subplot(221);
stem(n*T,x_I);axis([0 10 -3 3]);hold on;plot([0,10],[0,0],'k');title('I路信号时域波形');xlabel('时间 (us)');ylabel('幅值');
subplot(222);
stem(n*T,x_Q);axis([0 10 -1 1]);hold on;plot([0,10],[0,0],'k');title('Q路信号时域波形');xlabel('时间 (us)');ylabel('幅值');
x_I_f=abs(fft(x_I,1024));x_I_frez=x_I_f./max(x_I_f);
x_Q_f=abs(fft(x_Q,1024));x_Q_frez=x_Q_f./max(x_Q_f);
subplot(223);
bar(FFrequency,x_I_frez,0.01,'r');axis([0 4 0 1.2]);title('I路信号归一化频谱');xlabel('频率 (MHz)');ylabel('归一化幅值');
subplot(224);
bar(FFrequency,x_Q_frez,0.01,'r');axis([0 4 0 1.2]);title('Q路信号归一化频谱');xlabel('频率 (MHz)');ylabel('归一化幅值');
set(gcf,'color','w');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%低通滤波器设计,用fdatool工具实现。
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%通过低通滤波器后的时域波形和频谱
figure(4);
f_lowpass=[[0,-0.000003043001573,0,0.00002823954001,-0,-0.000080841935464,-0,0.000163220192617,-0,-0.000277828701621,0,0.000427230093944,0,-0.000614127335845,-0,0.000841406304126,-0,-0.001112191826604,0,0.001429921204123,-0,-0.001798440699917,-0,0.002222132598252,-0,-0.002706083529411,0,0.003256309361809,-0,-0.003880058936574,-0,0.004586229702323,-0,-0.005385945355069,0,0.006293373220817,-0,-0.007326905177661,-0,0.008510905141471,-0,-0.009878367376324,0,0.011475092194636,-0,-0.013366496420962,0,0.015649227666672,-0,-0.018472065152109,0,0.022076107081206,-0,-0.026878790109525,0,0.033669923066071,-0,-0.044143762172087,0,0.062708042398287,-0,-0.105529091414393,0,0.318118177084673,0.5,0.318118177084673,0,-0.105529091414393,-0,0.062708042398287,0,-0.044143762172087,-0,0.033669923066071,0,-0.026878790109525,-0,0.022076107081206,0,-0.018472065152109,-0,0.015649227666672,0,-0.013366496420962,-0,0.011475092194636,0,-0.009878367376324,-0,0.008510905141471,-0,-0.007326905177661,-0,0.006293373220817,0,-0.005385945355069,-0,0.004586229702323,-0,-0.003880058936574,-0,0.003256309361809,0,-0.002706083529411,-0,0.002222132598252,-0,-0.001798440699917,-0,0.001429921204123,0,-0.001112191826604,-0,0.000841406304126,-0,-0.000614127335845,0,0.000427230093944,0,-0.000277828701621,-0,0.000163220192617,-0,-0.000080841935464,-0,0.00002823954001,0,-0.000003043001573,0;]]
dd=size(f_lowpass);
Xc=filter(f_lowpass,1,x_I);
Xs=filter(f_lowpass,1,x_Q);
%mm=size(Sc);
subplot(221);
stem(n*T,Xc);axis([0 20 -3 3]);hold on;plot([0,20],[0,0],'k');title('I路信号通过低通滤波器后时域波形');xlabel('时间 (us)');ylabel('幅值');
subplot(222);
stem(n*T,Xs);axis([0 20 -3 3]);hold on;plot([0,20],[0,0],'k');title('Q路信号通过低通滤波器后时域波形');xlabel('时间 (us)');ylabel('幅值');
Xc_f=abs(fftshift(fft(Xc,1024)));Xc_frez=Xc_f./max(Xc_f);
Xs_f=abs(fftshift(fft(Xs,1024)));Xs_frez=Xs_f./max(Xs_f);
FFFrequency=(-(length(Xc_frez)-1)/2:(length(Xc_frez)-1)/2)*8/length(Xc_frez);
subplot(223);
bar(FFFrequency,Xc_frez,0.01,'r');axis([0 4 0 1.2]);title('I路信号通过低通后归一化频谱');xlabel('频率 (MHz)');ylabel('归一化幅值');
subplot(224);
bar(FFFrequency,Xs_frez,0.01,'r');axis([0 4 0 1.2]);title('Q路信号通过低通后归一化频谱');xlabel('频率 (MHz)');ylabel('归一化幅值');
set(gcf,'color','w');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%对信号进行抽采后的时域波形以及频谱
figure(5)
for i=1:round(length(Xc)/2)
Ac(i)=Xc(i*2-1);
As(i)=Xs(i*2-1);
end
subplot(221);
stem(Ac);axis([0 80 -3 3]);hold on;plot([0,80],[0,0],'k');title('信号进行抽采后时域波形');xlabel('时间 (us)');ylabel('幅值');
subplot(222);
stem(As);axis([0 80 -3 3]);hold on;plot([0,80],[0,0],'k');title('信号进行抽采后时域波形');xlabel('时间 (us)');ylabel('幅值');
Ac_f=abs(fft(Ac,1024));Ac_frez=Ac_f./max(Ac_f);
As_f=abs(fft(As,1024));As_frez=As_f./max(As_f);
FFFrequency=(0:(length(Ac_frez)-1))*4/length(Ac_frez);
subplot(223);
bar(FFFrequency,Ac_frez,0.01,'r');axis([0 4 0 1.2]);title('信号进行抽采后归一化频谱');xlabel('频率 (MHz)');ylabel('归一化幅值');
subplot(224);
bar(FFFrequency,As_frez,0.01,'r');axis([0 4 0 1.2]);title('信号进行抽采后归一化频谱');xlabel('频率 (MHz)');ylabel('归一化幅值');
set(gcf,'color','w');

⌨️ 快捷键说明

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