matlab课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
period为水平轴的坐标范围[-period/2,period/2]; offset为偏执因子,信号的第(offset+1)个采样值之 后每n个值为一周期,且该周期为period的整数 倍 plotsring为绘制沿途是采用的符号、线形和颜色。
离散傅里叶变换
• 一个信号s(t)经等间隔抽样后得到序列sn{n=0,1……N}。则其DFT变换为
基带信号 0.5 0 -10
基带信号功率谱
amp
0
psf
0 0.5 1 1.5 t SSB信 号 2
-20 -30 -40
-0.5
-50
-20
0 10 f SSB信 号 功 率 谱
-10
20
0.5
0 -10
amp
0
psf
0 0.5 1 t 1.5 2
-20 -30 -40
-0.5
-50
-20
-10
plot(t,mt);grid on xlabel('t');ylabel('amp');title('基带信号') subplot(222); plot(f,10*log10(psf_mt)); grid on xlabel('f');ylabel('psf');title('基带信号功率谱') axis([-25 25 -50 0 ]); subplot(223) plot(t,t_ssb);grid on xlabel('t');ylabel('amp');title('SSB信号') subplot(224) plot(f,10*log10(psf_ssb));grid on xlabel('f');ylabel('psf');title('SSB信号功率谱') axis([-25 25 -50 0]);
N 1
lim s(nt ) e
N n 0
N 1
lim
N
T N
s e
n 0 n
N 1
j
2 nfT N
• 如果对S(f)也进行等间隔抽样,且抽样间隔为△f=1/T,
S (kf ) lim
N
T N 1 j N nk T s e Sk n lim N n 0 N N
0 f
10
20
图8-3 SSB信号的波形及功率谱
8.1.4 幅度调制的解调
例8-3已知模拟基带信号为频率为2Hz,幅度为0.5V的余弦信号, 假设载波频率为16Hz,使用Matlab编程并画出 (1)模拟基带信号; (2)DSB信号相干解调后信号波形。
clear all;close all; Ts=1/2048; T=2; Fm=2; Fc=16 t=0:Ts:T-Ts; mt=0.5*cos(2*pi*Fm*t); t_dsb=mt.*cos(2*pi*Fc*t); delta_f=1/T; N=length(t_dsb); f=delta_f*[-N/2:N/2-1]; f_mt=fft(mt); f_mt=T/N*fftshift(f_mt); psf_mt=(abs(f_mt).^2+eps)/T; f_dsb=fft(t_dsb); f_dsb=T/N*fftshift(f_dsb); psf_dsb=(abs(f_dsb).^2+eps)/T; t_demod=t_dsb.*cos(2*pi*Fc*t); f=delta_f*[-N/2:N/2-1];
1 1 1 ˆ (t ) sin 2f c t Re{[ m(t ) i m(t )]ei 2f ct } sSSB (t ) m(t ) cos 2f c t m 2 2 2
例8-2 已知模拟基带信号为频率为2Hz,幅度为0.5V的余弦信号, 假设载波频率为20Hz,使用Matlab编程并画出 (1)模拟基带信号; (2)模拟基带信号的功率谱密度; (3)SSB-SC调制信号; (4)该调制信号的功率谱密度。
基带信号 0.5 1
基带信号功率谱
amp
0
psf
0 0.5 1 1.5 t DSB信 号 2
0.5
-0.5
0 -20
-10
0 10 f DSB信 号 功 率 谱
20
0.5
1
amp
0
psf
0 0.5 1 t 1.5 2
0.5
-0.5
0 -20
-10
0 f
10
20
图8-2 DSB信号的波形及功率谱
8.1.3 单边带调幅
%抑制载波的双边带调幅 Ts=1/2048; %采样时间间隔 T=2; %信号时长 Fm=2; %信源信号频率 Fc=16 %载波频率 t=0:Ts:T-Ts; mt=0.5*cos(2*pi*Fm*t); %信源信号 t_dsb=mt.*cos(2*pi*Fc*t); %时域调制信号 delta_f=1/T; N=length(t_dsb); %采样点数 f=delta_f*[-N/2:N/2-1]; f_mt=fft(mt); f_mt=T/N*fftshift(f_mt); psf_mt=(abs(f_mt).^2+eps)/T; f_dsb=fft(t_dsb); f_dsb=T/N*fftshift(f_dsb); psf_dsb=(abs(f_dsb).^2+eps)/T;
%采样时间间隔 %信号时长 %信源信号频率 %载波频率 %信源信号 %时域调制信号 %采样点数
f_demod=fft(t_demod); f_demod=fftshift(f_demod); f_lpf=zeros(1,length(f)); bf = [-floor( 2*Fm/delta_f ): floor(2* Fm/delta_f )]+floor( length(f)/2 ); f_lpf(bf)=1; f_demod=f_demod.*f_lpf; % f_demod=T/N*fftshift(f_demod); f_demod=fftshift(f_demod); st=ifft(f_demod); st=real(st); subplot(211); plot(t,mt); xlabel('t');ylabel('amp');title('基带信号') subplot(212); plot(t,st); %plot(f,10*log10(psf_mt)); xlabel('t');ylabel('amp');title('相干解调后输出信号')
(2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分 析结果。要得到真实的振幅值的大小,只要将得到的变换后结果乘以 2除以N即可。
• Eyediagram--眼图绘制函数 格式为 eyediagram(x,n,period,offset,plotstring); 其中,x为信号; n为每个轨迹包括的采样点数;
: %单边带幅度信号调制 close all clear all Ts=1/2048; %采样时间间隔 T=2; %信号时长 Fm=2; %信号频率 Fc=20; %载波频率 t=0:Ts:T-Ts; mt=0.5*cos(2*pi*Fm*t); %基带信号 t_ssb=real(hilbert(mt).*exp(j*2*pi*Fc*t)); %时域调制信号 delta_f=1/T; N=length(t_ssb); %采样点数 f=delta_f*[-N/2:N/2-1]; %频率 f_mt=fft(mt); f_mt=T/N*fftshift(f_mt); psf_mt=(abs(f_mt).^2+eps)/T; f_ssb=fft(t_ssb); f_ssb=T/N*fftshift(f_ssb); psf_ssb=(abs(f_ssb).^2+eps)/T; subplot(221);
第8章 MATLAB在通信原理中的应用
• 8.1 模拟调制
• 8.2 数字基带传输 • 8.3 数字频带传输
典型的离散信号及其MATLAB实现
1. 单位抽样信号
1,n 0 (n) 0, n 0
• MATLAB只能实现有限长的序列,选择产生N点的单位抽 样序列: • >>x=zeros(1, N); • >>x(1)=1; 1,n 0 2.单位阶跃序列 u(n) 0, n 0 • >>x=ones(1,N); 3. 正弦序列 x(n) A sin(2fnTs ) • >>n=0:N-1; • >>x=A*sin(2*pi*f*n*TS+pha); %TS为抽样周期, pha为正弦波初相
关于各自的中心对称
• 注意:
(1)函数FFT返回值的数据结构具有对称性。
例: N=8; n=0:N-1; xn=[4 3 2 6 7 8 9 0]; Xk=fft(xn) Xk = • 39.0000 -10.7782 + 6.2929i 0 - 5.0000i 4.7782 7.7071i 5.0000 4.7782 + 7.7071i 0 + 5.0000i -10.7782 - 6.2929i Xk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分量, 即频率值为0。通常使用结果的一半。
S k sn e
n 0
N 1
j
2 N
nk
(k 0,1......N 1)
• S(t)在一段时间(0,T)内的傅里叶变换为
S ( f ) s(t )e
0 t T / N T j 2ft
dt lim
j 2ft n
N n 0
j 2ft s ( n 百度文库 t ) e t n
subplot(221); plot(t,mt);grid on; xlabel('t');ylabel('amp');title('基带信号') subplot(222); plot(f,abs(f_mt));grid on; %plot(f,10*log10(psf_mt)); xlabel('f');ylabel('psf');title('基带信号功率谱') axis([-20 20 0 1 ]); subplot(223) plot(t,t_dsb);grid on; xlabel('t');ylabel('amp');title('DSB信号') subplot(224) plot(f,abs(f_dsb));grid on; %plot(f,10*log10(psf_dsb)); xlabel('f');ylabel('psf');title('DSB信号功率谱') axis([-20 20 0 1]);
基带信号 0.5
amp
0
-0.5
0
0.2
0.4
0.6
1 1.2 1.4 t 相干解调后输出信号
0.8
1.6
1.8
2
0.4 0.2
amp
0 -0.2 -0.4
0
0.2
0.4
0.6
0.8
1 t
1.2
1.4
1.6
1.8
2
图8-6 基带信号和DSB信号相干解调后信号波形
8.2 数字基带传输
数字基带传输系统的基本结构
8.2.1 数字基带信号 常用的数字基带信号: 单极性非归零码; 单极性归零码; 双极性非归零码; 双极性归零码; 双相码、 差分双相码 密勒码等。
例8-5 使用单极性非归零码来表示一个随机生成的二元序列(假设“ 0、1”等概分布), 画出信号波形示意图和功率谱图。
2
8.1 模拟调制
8.1.1 常规调幅
8.1.2 抑制载波的双边带调幅
例8-1已知模拟基带信号为频率为2Hz,幅度为0.5V的
余弦信号,假设载波频率为16Hz,使用Matlab编程 并画出 (1)模拟基带信号; (2)模拟基带信号的功率谱密度 (3)DSB-SC调制信号 (4)该调制信号的功率谱密度
对于复正弦序列:
x(n) e
jn
cos(n) j sin(n)
• >>n=0:N-1; • >>x=exp(j*w*n); 4. sinc函数
sin t sinc(t ) t
• >>x=-2*pi:4*pi/N:2*pi; • >>y=sinc(x);
• FFT及IFFT函数 • X=FFT(x);向量x的离散傅立叶变换 • X= FFT(X,N)是N点FFT,如果X少用零填充 , 如果多就截断 ;一般选N为了2的整次 • x=IFFT(X); • x=IFFT(X,N) • Fftship--作用是让正半轴部分和负半轴部分的图像分别
离散傅里叶变换
• 一个信号s(t)经等间隔抽样后得到序列sn{n=0,1……N}。则其DFT变换为
基带信号 0.5 0 -10
基带信号功率谱
amp
0
psf
0 0.5 1 1.5 t SSB信 号 2
-20 -30 -40
-0.5
-50
-20
0 10 f SSB信 号 功 率 谱
-10
20
0.5
0 -10
amp
0
psf
0 0.5 1 t 1.5 2
-20 -30 -40
-0.5
-50
-20
-10
plot(t,mt);grid on xlabel('t');ylabel('amp');title('基带信号') subplot(222); plot(f,10*log10(psf_mt)); grid on xlabel('f');ylabel('psf');title('基带信号功率谱') axis([-25 25 -50 0 ]); subplot(223) plot(t,t_ssb);grid on xlabel('t');ylabel('amp');title('SSB信号') subplot(224) plot(f,10*log10(psf_ssb));grid on xlabel('f');ylabel('psf');title('SSB信号功率谱') axis([-25 25 -50 0]);
N 1
lim s(nt ) e
N n 0
N 1
lim
N
T N
s e
n 0 n
N 1
j
2 nfT N
• 如果对S(f)也进行等间隔抽样,且抽样间隔为△f=1/T,
S (kf ) lim
N
T N 1 j N nk T s e Sk n lim N n 0 N N
0 f
10
20
图8-3 SSB信号的波形及功率谱
8.1.4 幅度调制的解调
例8-3已知模拟基带信号为频率为2Hz,幅度为0.5V的余弦信号, 假设载波频率为16Hz,使用Matlab编程并画出 (1)模拟基带信号; (2)DSB信号相干解调后信号波形。
clear all;close all; Ts=1/2048; T=2; Fm=2; Fc=16 t=0:Ts:T-Ts; mt=0.5*cos(2*pi*Fm*t); t_dsb=mt.*cos(2*pi*Fc*t); delta_f=1/T; N=length(t_dsb); f=delta_f*[-N/2:N/2-1]; f_mt=fft(mt); f_mt=T/N*fftshift(f_mt); psf_mt=(abs(f_mt).^2+eps)/T; f_dsb=fft(t_dsb); f_dsb=T/N*fftshift(f_dsb); psf_dsb=(abs(f_dsb).^2+eps)/T; t_demod=t_dsb.*cos(2*pi*Fc*t); f=delta_f*[-N/2:N/2-1];
1 1 1 ˆ (t ) sin 2f c t Re{[ m(t ) i m(t )]ei 2f ct } sSSB (t ) m(t ) cos 2f c t m 2 2 2
例8-2 已知模拟基带信号为频率为2Hz,幅度为0.5V的余弦信号, 假设载波频率为20Hz,使用Matlab编程并画出 (1)模拟基带信号; (2)模拟基带信号的功率谱密度; (3)SSB-SC调制信号; (4)该调制信号的功率谱密度。
基带信号 0.5 1
基带信号功率谱
amp
0
psf
0 0.5 1 1.5 t DSB信 号 2
0.5
-0.5
0 -20
-10
0 10 f DSB信 号 功 率 谱
20
0.5
1
amp
0
psf
0 0.5 1 t 1.5 2
0.5
-0.5
0 -20
-10
0 f
10
20
图8-2 DSB信号的波形及功率谱
8.1.3 单边带调幅
%抑制载波的双边带调幅 Ts=1/2048; %采样时间间隔 T=2; %信号时长 Fm=2; %信源信号频率 Fc=16 %载波频率 t=0:Ts:T-Ts; mt=0.5*cos(2*pi*Fm*t); %信源信号 t_dsb=mt.*cos(2*pi*Fc*t); %时域调制信号 delta_f=1/T; N=length(t_dsb); %采样点数 f=delta_f*[-N/2:N/2-1]; f_mt=fft(mt); f_mt=T/N*fftshift(f_mt); psf_mt=(abs(f_mt).^2+eps)/T; f_dsb=fft(t_dsb); f_dsb=T/N*fftshift(f_dsb); psf_dsb=(abs(f_dsb).^2+eps)/T;
%采样时间间隔 %信号时长 %信源信号频率 %载波频率 %信源信号 %时域调制信号 %采样点数
f_demod=fft(t_demod); f_demod=fftshift(f_demod); f_lpf=zeros(1,length(f)); bf = [-floor( 2*Fm/delta_f ): floor(2* Fm/delta_f )]+floor( length(f)/2 ); f_lpf(bf)=1; f_demod=f_demod.*f_lpf; % f_demod=T/N*fftshift(f_demod); f_demod=fftshift(f_demod); st=ifft(f_demod); st=real(st); subplot(211); plot(t,mt); xlabel('t');ylabel('amp');title('基带信号') subplot(212); plot(t,st); %plot(f,10*log10(psf_mt)); xlabel('t');ylabel('amp');title('相干解调后输出信号')
(2)做FFT分析时,幅值大小与FFT选择的点数有关,但不影响分 析结果。要得到真实的振幅值的大小,只要将得到的变换后结果乘以 2除以N即可。
• Eyediagram--眼图绘制函数 格式为 eyediagram(x,n,period,offset,plotstring); 其中,x为信号; n为每个轨迹包括的采样点数;
: %单边带幅度信号调制 close all clear all Ts=1/2048; %采样时间间隔 T=2; %信号时长 Fm=2; %信号频率 Fc=20; %载波频率 t=0:Ts:T-Ts; mt=0.5*cos(2*pi*Fm*t); %基带信号 t_ssb=real(hilbert(mt).*exp(j*2*pi*Fc*t)); %时域调制信号 delta_f=1/T; N=length(t_ssb); %采样点数 f=delta_f*[-N/2:N/2-1]; %频率 f_mt=fft(mt); f_mt=T/N*fftshift(f_mt); psf_mt=(abs(f_mt).^2+eps)/T; f_ssb=fft(t_ssb); f_ssb=T/N*fftshift(f_ssb); psf_ssb=(abs(f_ssb).^2+eps)/T; subplot(221);
第8章 MATLAB在通信原理中的应用
• 8.1 模拟调制
• 8.2 数字基带传输 • 8.3 数字频带传输
典型的离散信号及其MATLAB实现
1. 单位抽样信号
1,n 0 (n) 0, n 0
• MATLAB只能实现有限长的序列,选择产生N点的单位抽 样序列: • >>x=zeros(1, N); • >>x(1)=1; 1,n 0 2.单位阶跃序列 u(n) 0, n 0 • >>x=ones(1,N); 3. 正弦序列 x(n) A sin(2fnTs ) • >>n=0:N-1; • >>x=A*sin(2*pi*f*n*TS+pha); %TS为抽样周期, pha为正弦波初相
关于各自的中心对称
• 注意:
(1)函数FFT返回值的数据结构具有对称性。
例: N=8; n=0:N-1; xn=[4 3 2 6 7 8 9 0]; Xk=fft(xn) Xk = • 39.0000 -10.7782 + 6.2929i 0 - 5.0000i 4.7782 7.7071i 5.0000 4.7782 + 7.7071i 0 + 5.0000i -10.7782 - 6.2929i Xk与xn的维数相同,共有8个元素。Xk的第一个数对应于直流分量, 即频率值为0。通常使用结果的一半。
S k sn e
n 0
N 1
j
2 N
nk
(k 0,1......N 1)
• S(t)在一段时间(0,T)内的傅里叶变换为
S ( f ) s(t )e
0 t T / N T j 2ft
dt lim
j 2ft n
N n 0
j 2ft s ( n 百度文库 t ) e t n
subplot(221); plot(t,mt);grid on; xlabel('t');ylabel('amp');title('基带信号') subplot(222); plot(f,abs(f_mt));grid on; %plot(f,10*log10(psf_mt)); xlabel('f');ylabel('psf');title('基带信号功率谱') axis([-20 20 0 1 ]); subplot(223) plot(t,t_dsb);grid on; xlabel('t');ylabel('amp');title('DSB信号') subplot(224) plot(f,abs(f_dsb));grid on; %plot(f,10*log10(psf_dsb)); xlabel('f');ylabel('psf');title('DSB信号功率谱') axis([-20 20 0 1]);
基带信号 0.5
amp
0
-0.5
0
0.2
0.4
0.6
1 1.2 1.4 t 相干解调后输出信号
0.8
1.6
1.8
2
0.4 0.2
amp
0 -0.2 -0.4
0
0.2
0.4
0.6
0.8
1 t
1.2
1.4
1.6
1.8
2
图8-6 基带信号和DSB信号相干解调后信号波形
8.2 数字基带传输
数字基带传输系统的基本结构
8.2.1 数字基带信号 常用的数字基带信号: 单极性非归零码; 单极性归零码; 双极性非归零码; 双极性归零码; 双相码、 差分双相码 密勒码等。
例8-5 使用单极性非归零码来表示一个随机生成的二元序列(假设“ 0、1”等概分布), 画出信号波形示意图和功率谱图。
2
8.1 模拟调制
8.1.1 常规调幅
8.1.2 抑制载波的双边带调幅
例8-1已知模拟基带信号为频率为2Hz,幅度为0.5V的
余弦信号,假设载波频率为16Hz,使用Matlab编程 并画出 (1)模拟基带信号; (2)模拟基带信号的功率谱密度 (3)DSB-SC调制信号 (4)该调制信号的功率谱密度
对于复正弦序列:
x(n) e
jn
cos(n) j sin(n)
• >>n=0:N-1; • >>x=exp(j*w*n); 4. sinc函数
sin t sinc(t ) t
• >>x=-2*pi:4*pi/N:2*pi; • >>y=sinc(x);
• FFT及IFFT函数 • X=FFT(x);向量x的离散傅立叶变换 • X= FFT(X,N)是N点FFT,如果X少用零填充 , 如果多就截断 ;一般选N为了2的整次 • x=IFFT(X); • x=IFFT(X,N) • Fftship--作用是让正半轴部分和负半轴部分的图像分别