光电技术实验
学号:1228402046 姓名:刘 秦 华
苏州大学电子信息学院
实验报告
一、实验时间:2015年6月28日星期日
二、实验目的:了解和运用Matlab进行光信号的调制 三、实验原理:
1、Matlab1简介:
MATLAB是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
MATLAB是matrix&laboratory两个词的组合,意为矩阵工厂(矩阵实验室)。是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
MATLAB和Mathematica、Maple并称为三大数学软件。它在数学类科技应用软件中在数值计算方面首屈一指。MATLAB可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C,FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为一个强大的数学软件。在新的版本中也加入了对C,FORTRAN,C++,JAVA的支持。
2、光电信息处理2简介
光电信息处理是基于对函数的数学描述与建模,运用光学元器件完成光学信息的模拟分析和处理,或在计算机中完成对信息的各种数字处理和分析。通过光电信息处理,可以大大提高数据处理和存储的能力。近代光电信息处理技术上的飞跃是光通信、光网络、光存储、光显示和多媒体技术的出现。其主要关键技术是微电子、光电子、光纤、计算机、通信与网络、大规模存储、大面积高分辨显示、多媒体等技术。
3、调频3简介
使载波频率按照调制信号改变的调制方式叫调频。已调波频率变化的大小由调制信号的大小决定,变化的周期由调制信号的频率决定。已调波的振幅保持不变。调频波的波形,就像是个被压缩得不均
匀的弹簧,调频波用英文字母FM表示。
载波的瞬时频率按调制信号的变化而变,但振幅不变的调制方式。载波经调频后成为调频波。用调频波传送信号可避免幅度干扰的影响而提高通信质量。广泛应用在通信、调频立体声广播和电视中。一般干扰信号总是叠加在信号上,改变其幅值。所以调频波虽然受到干扰后幅度上也会有变化,但在接收端可以用限幅器将信号幅度上的变化削去,所以调频波的抗干扰性极好。例如,用收音机接收调频广播,基本上听不到杂音。
4、调幅4简介
调幅(Amplitude Modulation,AM)。调幅也就是通常说的中波,范围在530---1600KHz。调幅是用声音的高低变为幅度的变化的电信号。传输距离较远,但受天气因素影响较大,适合省际电台的广播。早期VHF频段的移动通信电台大都采用调幅方式,由于信道衰落会使模拟调幅产生附加调幅,造成失真,在传输的过程中也很容易被窃听,目前已很少采用。目前在简单通信设备中还有采用,如收音机中的AM波段就是调幅波,音质和FM波段调频波相比较差。
调频和调幅的区别
(1)调频比调幅抗干扰能力强:
外来的各种干扰、加工业和天电干扰等,对已调波的影响主要表现为产生寄生调幅,形成噪声。调频制可以用限幅的方法,消除干扰所引起的寄生调幅。而调幅制中已调幅信号的幅度是变化的,因而不能采用限幅,也就很难消除外来的干扰。
另外,信号的信噪比愈大,抗干扰能力就愈强。而解调后获得的信号的信噪比与调制系数有关,调制系数越大,信噪比越大。由于调频系数远大于调幅系数,因此,调频波信噪比高,调频广播中干扰噪声小。
(2)调频波比调幅波频带宽:
频带宽度与调制系数有关,即:调制系数大,频带宽。调频中常取调频系数大于1,而调幅系数是小于1的,所以,调频波的频带宽度比调幅波的频带宽度大得多。
(3)调频制功率利用率大于调幅制:
发射总功率中,边频功率为传送调制信号的有效功率,而边频功率与调制系数有关,调制系数大,边频功率大。由于调频系数mf大于调幅系数ma,所以,调频制的功率利用率比调幅制高。
由于从消息变换过来的原始信号具有频率较低的频谱分量,这种信号在许多信道中不适宜传输。因此,在通信系统的发送端通常需要有调制过程,而在接收端则需要有反调制过程——解调过程。
所谓调制,就是按调制信号的变化规律去改变某些参数的过程。调制的载波可以分为两类:用正弦信号作载波;用脉冲串或一组数字信号作为载波。最常用和最重要的模拟调制方式是用正弦波作为载波的幅度调制和角度调制。本实验中重点讨论幅度调制。
幅度调制是正弦型载波的幅度随调制信号变化的过程。设正弦载波为
S(t)Acos(cto) 式中 c——载波角频率
o——载波的初相位 A——载波的幅度
那么,幅度调制信号(已调信号)一般可表示为 Sm(t)Am(t)cos(cto) 式中,m(t)为基带调制信号。
在MATLAB中,用函数y=modulate(x,fc,fs,’s’)来实现信号调制。其中fc为载波频率,fs为抽样频率,’s’省略或为’am-dsb-sc’时为抑制载波的双边带调幅,’am-dsb-tc’为不抑制载波的双边带调幅,’am-ssb’为单边带调幅,’pm’为调相,’fm’为调频。
四、实验内容
1、写出Matlab调制程序 2、展示波形
五、Matlab实验程序
clc;close all;clear;
% Fm=10;Fs=1000;Fc=100;N=1000;k=0:N-1; % t=k/Fs;
n=[0:256];Fc=100000;Fs=1000000;N=1000; xn=abs(sin(2*pi*n/256));
% x=abs(sin(2.0*pi*Fm*t));xf=abs(fft(x,N)); xf=abs(fft(xn,N));
y2=modulate(xn,Fc,Fs,'am'); subplot(3,4,1);
plot(n(1:200),y2(1:200));
xlabel('时间(s)');ylabel('幅值');title('调幅信号'); yf=abs(fft(y2,N));
subplot(3,4,2);stem(yf(1:200));xlabel('(H)');ylabel('幅值'); xo=demod(y2,Fc,Fs,'am'); subplot(3,4,3)
plot(n(1:200),xn(1:200)); title('原信号');
频
率
subplot(3,4,4)
plot(n(1:200),2*xo(1:200)); title('解调信号'); axis([1 200 0 1]);
y2=modulate(xn,Fc,Fs,'fm'); subplot(3,4,5);
plot(n(1:200),y2(1:200));
xlabel('时间(s)');ylabel('幅值');title('调频信号'); yf=abs(fft(y2,N));
subplot(3,4,6);stem(yf(1:200));xlabel('(H)');ylabel('幅值'); xo=demod(y2,Fc,Fs,'fm'); subplot(3,4,7)
plot(n(1:200),xn(1:200)); title('原信号'); subplot(3,4,8)
plot(n(1:200),1.6*xo(1:200)); title('解调信号');
频
率
axis([1 200 0 1]);
y2=modulate(xn,Fc,Fs,'pm'); subplot(3,4,9);
plot(n(1:200),y2(1:200));
xlabel('时间(s)');ylabel('幅值');title('调相信号'); yf=abs(fft(y2,N));
subplot(3,4,10);stem(yf(1:200));xlabel('频
率
(H)');ylabel('幅值'); xo=demod(y2,Fc,Fs,'pm'); 或者实验程序可以如下 clear; clear all; %调制信号 fs=100000; fm=1000; dt=1/fs; t=0:dt:0.01; mt=cos(2*pi*fm*t); subplot(2,1,1); plot(t,mt);grid on;
title('调制信号mt=cos(pi*t)的波形');
%载波信号 fc=10000; Ct=cos(2*pi*fc*t); subplot(2,1,2); plot(t,Ct);
title('载波信号波形'); figure;
%AM调制 A=1;
SAM=(A+mt).*Ct;
subplot(3,4,11) plot(n(1:200),xn(1:200)); title('原信号'); subplot(3,4,12) xo=xo/3.15;
plot(n(1:200),xo(1:200)); title('解调信号'); axis([1 200 0 1]);
subplot(3,1,1);
plot(t,SAM);grid on;hold on; plot(t,A+mt,'r'); axis([0 0.01 -2 2]); title('AM调制后的波形');
%DSB调制 DSB=mt.*Ct; subplot(3,1,2); plot(t,DSB,'b');grid on; axis([0 0.01 -2 2]); title('dsb调制后的波形'); subplot(3,1,3); plot(t,mt); axis([0 0.01 -2 2]); title('调制信号'); figure;
%SSB相移法
SSB1=(1/2)*mt.*Ct+(1/2)*sin(2*pi*fm*t).*sin(2*pi*fc*t);%下边带
SSB2=(1/2)*mt.*Ct-(1/2)*sin(2*pi*fm*t).*sin(2*pi*fc*t);%上边带
%对各信号求频谱做fft变换
N=2048; %采样频率和数据点数
n=0:N-1; t=n/fs; %时间序列 y=fft(mt,N); %对信号进行快速Fourier变换 mag=abs(y); y1=fft(Ct,N); mag1=(abs(y1)); y2=fft(DSB,N); mag2=(abs(y2)); y3=fft(SAM,N); mag3=(abs(y3)); y4=fft(SSB1,N); mag4=(abs(y4)); y5=fft(SSB2,N); mag5=(abs(y5));
f=n*fs/(1000*N); %频率序列 subplot(321);
plot(f,mag); %绘出随频率变化的振幅 axis([0 20 0 400]); title('调制信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on; subplot(322); plot(f,mag1); axis([0 20 0 400]); title('载波信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on; subplot(323); plot(f,mag2);
axis([0 20 0 400]); title('DSB已调信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on; subplot(324); plot(f,mag3); axis([0 20 0 400]); title('AM已调信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on; subplot(325); plot(f,mag4); axis([0 20 0 400]);
title('SSB已调下边带信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on; subplot(326); plot(f,mag5); axis([0 20 0 400]);
title('SSB上边带已调信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on; figure;
%绘制低通滤波器频率响应 wc=1.5*2*pi*fm/fs; N=1000; B=fir1(16,wc/pi); [h,w]=freqz(B, 1, N); x=w*fs/(2*pi)/1000; y=20*log10(abs(h)); B;
plot(x,y);grid on;
axis([0 40 -100 0]); xlabel('k/hz');
title('低通滤波器的频率相应'); figure;
%对DSB乘法器输出和解调器输出做频谱分析并得到输出信号 h=DSB.*Ct;
N=2048; %采样频率和数据点数
n=0:N-1; t=n/fs; %时间序列 h1=fft(h,N); %对信号进行快速Fourier变换 mag=abs(h1);
f=n*fs/(1000*N); %频率序列 subplot(311); plot(f,mag); axis([0 22 0 200]);
title('解调乘法器输出信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on;
%cross the lpf fs=100000; dt=1/fs; t=0:dt:0.01; h2=filter(B,1,h); subplot(312); plot(t,h2);grid on; title('DSB解调信号');
%对解调器输出做fft变换 N=2048; %采样频率和数据点数
n=0:N-1;t=n/fs; %时间序列
y=fft(h2,N); %对信号进行快速Fourier变换 mag=abs(y); %求得Fourier变换后的振 f=n*fs/(1000*N); %频率序列 subplot(313);
plot(f,mag); %绘出随频率变化的振幅 axis([0 22 0 200]);
title('解调器输出信号频谱'); xlabel('频率/kHz'); ylabel('振幅');grid on; figure;
%同频但不同相时输出信号 fs=100000; dt=1/fs; t=0:dt:0.01;
Ct1=cos(2*pi*fc*t+pi/8); h=DSB.*Ct1;
%cross the lpf h2=filter(B,1,h); subplot(221); plot(t,h2);grid on; axis([0 0.01 -0.5 0.5]);
title('DSB解调相位差pi/8信号');
Ct1=cos(2*pi*fc*t+pi/4); h=DSB.*Ct1; h2=filter(B,1,h); subplot(222); plot(t,h2);grid on; axis([0 0.01 -0.5 0.5]);
title('DSB解调相位差pi/4信号');
Ct1=cos(2*pi*fc*t+pi/3); h=DSB.*Ct1; h2=filter(B,1,h); subplot(223); plot(t,h2);grid on; axis([0 0.01 -0.5 0.5]);
title('DSB解调相位差pi/3信号');
Ct1=cos(2*pi*fc*t+pi/2); h=DSB.*Ct1; h2=filter(B,1,h); subplot(224); plot(t,h2);grid on; axis([0 0.01 -0.5 0.5]);
title('DSB解调相位差pi/2信号');
六、实验结果
程序1结果:
程序2结果:
七、参考资料
1、matlab简介:百度百科http://baike.baidu.com/view/10598.htm 2、光信号处理:百度百科http://baike.baidu.com/view/76314.htm 3、调频:百度百科http://baike.baidu.com/view/76314.htm 4、调幅:百度百科
http://baike.baidu.com/link?url=Nd8GDjKT5nGkdvoBpL_S8UlyJD7BZZbCyLJNs1lGVk-9GbIzOYZZqU7YbfjHnaGuz0IIuA0-VeqRDq4PvKtwKa