zoukankan      html  css  js  c++  java
  • CCS

    Amplitude Modulation (AM)

    Amplitude modulation (AM), which is frequently referred to as linear modulation, is
    the family of modulation schemes in which the amplitude of a sinusoidal carrier is

    changed as a function of the modulating signal. This class of modulation schemes
    consists of DSB-AM (double-sideband amplitude modulation), conventional amplitude
    modulation, SSB-AM (single-sideband amplitude modulation), and VSB-AM
    (vestigial-sideband amplitude modulation). The dependence between the modulating
    signal and the amplitude of the modulated carrier can be very simple, as, for example,
    in the DSB-AM case, or much more complex, as in SSB-AM or VSB-AM. Amplitudemodulation
    systems are usually characterized by a relatively low bandwidth requirement
    and power inefficiency in comparison to the angle-modulation schemes. The
    bandwidth requirement for AM systems varies between W and 2W, where W denotes
    the bandwidth of the message signal. For SSB-AM the bandwidth is W, for DSBAM
    and conventional AM the bandwidth is 2W, and for VSB-AM the bandwidth
    is between W and 2W. These systems are widely used in broadcasting (AM radio
    and TV video broadcasting), point-to-point communication (SSB), and multiplexing
    applications (for example, transmission of many telephone channels over microwave
    links).

    DSB-AM

    A typical message spectrum and the spectrum of the corresponding DSB-AM modulated
    signal are shown in Figure 3 .1.

     

    Matlab Coding

     

     1 % MATLAB script for Illustrative Problem 3.1
     2 % Demonstration script for DSB-AM. The message signal is
     3 % +1 for 0 < t < t0/3, -2 for t0/3 < t < 2t0/3, and zero otherwise.
    4 echo on 5 t0=.15; % signal duration 6 ts=0.001; % sampling interval 7 fc=250; % carrier frequency 8 snr=20; % SNR in dB (logarithmic) 9 fs=1/ts; % sampling frequency 10 df=0.3; % desired freq. resolution 11 t=[0:ts:t0]; % time vector 12 snr_lin=10^(snr/10); % linear SNR
    13 % message signal 14 m=[ones(1,t0/(3*ts)),-2*ones(1,t0/(3*ts)),zeros(1,t0/(3*ts)+1)]; 15 c=cos(2*pi*fc.*t); % carrier signal 16 u=m.*c; % modulated signal 17 [M,m,df1]=fftseq(m,ts,df); % Fourier transform 18 M=M/fs; % scaling 19 [U,u,df1]=fftseq(u,ts,df); % Fourier transform 20 U=U/fs; % scaling 21 [C,c,df1]=fftseq(c,ts,df); % Fourier transform 22 f=[0:df1:df1*(length(m)-1)]-fs/2; % freq. vector 23 signal_power=spower(u(1:length(t))); % power in modulated signal 24 noise_power=signal_power/snr_lin; % Compute noise power. 25 noise_std=sqrt(noise_power); % Compute noise standard deviation. 26 noise=noise_std*randn(1,length(u)); % Generate noise. 27 r=u+noise; % Add noise to the modulated signal. 28 [R,r,df1]=fftseq(r,ts,df); % spectrum of the signal+noise 29 R=R/fs; % scaling 30 pause % Press a key to show the modulated signal power. 31 signal_power 32 pause % Press any key to see a plot of the message. 33 clf 34 subplot(2,2,1) 35 plot(t,m(1:length(t))) 36 xlabel('Time') 37 title('The message signal') 38 pause % Press any key to see a plot of the carrier. 39 subplot(2,2,2) 40 plot(t,c(1:length(t))) 41 xlabel('Time') 42 title('The carrier') 43 pause % Press any key to see a plot of the modulated signal. 44 subplot(2,2,3) 45 plot(t,u(1:length(t))) 46 xlabel('Time') 47 title('The modulated signal') 48 pause % Press any key to see plots of the magnitude of the message and the 49 % modulated signal in the frequency domain. 50 subplot(2,1,1) 51 plot(f,abs(fftshift(M))) 52 xlabel('Frequency') 53 title('Spectrum of the message signal') 54 subplot(2,1,2) 55 plot(f,abs(fftshift(U))) 56 title('Spectrum of the modulated signal') 57 xlabel('Frequency') 58 pause % Press a key to see a noise sample. 59 subplot(2,1,1) 60 plot(t,noise(1:length(t))) 61 title('Noise sample') 62 xlabel('Time') 63 pause % Press a key to see the modulated signal and noise. 64 subplot(2,1,2) 65 plot(t,r(1:length(t))) 66 title('Signal and noise') 67 xlabel('Time') 68 pause % Press a key to see the modulated signal and noise in freq. domain. 69 subplot(2,1,1) 70 plot(f,abs(fftshift(U))) 71 title('Signal spectrum') 72 xlabel('Frequency') 73 subplot(2,1,2) 74 plot(f,abs(fftshift(R))) 75 title('Signal and noise spectrum') 76 xlabel('Frequency')


    signal_power =

    0.8278

    The message, the carrier, and the modulated signal

    The modulated signal in the frequency domain(Without Noise)

    The modulated signal and noise in Time domain

     The modulated signal and noise in freqency domain

    Reference,

      1. <<Contemporary Communication System using MATLAB>> - John G. Proakis

  • 相关阅读:
    我是服务的执政官-服务发现和注册工具consul简介
    跳闸了啊! 服务容灾:熔断器简介
    论获取缓存值的正确姿势
    容器化redis高可用方案
    ASP.NET SessionState 解惑
    Thymeleaf 模板的使用
    记录js的一个图片预览功能代码
    记录一个简单的可以拖动的弹出层
    oracle安装报错[INS-30131]执行安装程序验证所需的初始设置失败(无法访问临时位置)解决方法!
    nginx学习笔记2
  • 原文地址:https://www.cnblogs.com/zzyzz/p/13773563.html
Copyright © 2011-2022 走看看