Sunteți pe pagina 1din 22

UNIVERSITATEA POLITAHNICA BUCUREȘTI

Facultatea de Electronică, Telecomunicații și Tehnologia Informației

PROIECT 3
MODULAȚII ANALOGICE

Profesor coordonator: Prof.Dr.Ing. Fratu Octavian Student: Drăgan Ana

Grupa 443C

București 2022
Cuprins
1. Tema proiectului ...................................................................................................................................................3
2. Descrierea resurselor necesare pentru utilizarea simulatorului ..........................................................................4
3. Introducere teoretică ............................................................................................................................................4
3.1. Introducere modularea și demodularea ........................................................................................................4
3.2. Modulația în amplitudine (MA) .....................................................................................................................5
3.3. Demodularea semnalelor MA.......................................................................................................................7
4. Descrierea soluției alese .......................................................................................................................................9
5. Determinarea caracteristicii de modulare/ demodulare și reprezentarea grafică corespunzătoare ................ 12
6. Soluția propusă pentru transpunerea într-un FPGA a modulatorului ............................................................... 20
7. Bibliografie ......................................................................................................................................................... 21
8. LISTINGUL FUNCȚIILOR CE ALCĂTUIESC PROGRAMUL DE SIMULARE ............................................................... 21

2
1. Tema proiectului
Să se proiecteze un simulator pentru semnale cu modulaţie analogică care va conţine un
modulator şi demodulatorul aferent, ce pot fi conectate între ele printr-un canal ideal, de caracteristică
unitară, afectat de un zgomot aditiv gaussian alb, de medie nulă şi densitate spectrală de putere N0/2
(prin intermediul unui raport semnal zgomot ce va fi dată de intrare, in dB). Simulatorul va permite
totodată simularea transmisiunii şi în absenţa zgomotului. Simulatorul va fi deschis, permiţând
conectarea şi altor tipuri de canale de comunicaţie, trebuind să se specifice formatul în care acestea pot
fi simulate.
Simulatorul va permite aplicarea la intrare a unui semnal analogic format din suma a doua
componente sinusoidale de amplitudini A şi B si frecvente f1 si f2, furnizate într-un format adecvat, sau
va permite aplicarea unui semnal de intrare predefinit într-un format care se va preciza. Frecvenţa f0 si
amplitudinea P a purtătoarei constituie de asemnea date de intrare. Aceşti parametri se vor preciza
printr-un interval de valori, simulatorul trebuind să funcţioneze pentru orice valoare din acest interval.
De asemenea se va preciza tipul de modulaţie şi anumite particularităţi ale semnalului de intrare (dacă
este cazul).
Semnalul modulat generat va putea fi reprezentat grafic pe un interval de timp ce constituie
dată de intrare, cuprins între perioada minimă a purtătoarei şi perioada sinusoidei de intrare de
frecvenţă minimă. De asemenea se vor reprezenta grafic semnalul modulat şi semnalul demodulat (pe
acelaşi grafic).
Demodulatorul va putea lucra cu informaţii de sincronizare ideale (parametrii utilizaţi la emisie)
sau va include un bloc de sincronizare de purtătoare, dacă este cazul, cu o structură cât mai simplă.
Se va analiza si se va propune explicit o metoda de a transpune modulatorul într-un FPGA.
Se recomandă ca simulatorul să prezinte o interfaţă grafică pentru introducerea datelor şi
afişarea/prezentarea rezultatelor simulării.
Simulatorul va fi realizat într-un limbaj de programare / mediu de simulare care este la latitudinea celui
care realizează tema.

Mod MA-P, demodulator valori medii + demod produs (comparaţie), RSZ=10...20 dB, A=1...2,
B=0,5...1, P=3...5, f0=100...500, f1=1...4, f2=2...4.
• Tipul modulației: MA-P (semnale cu modulație în amplitudine cu purtătoare)
• Raport semnal-zgomot: RSZ = 10…20 dB, ce modulează zgomotul aditiv gaussian alb (ZAGA)
de medie nulă și densitate spectrală de putere N0/2
• Amplitudinea primului semnal: A = 1…2V
• Frecvența primului semnal: f1 = 1…4
• Amplitudinea celui de-al doilea semnal: B = 0,5…1V
• Frecvența celui de-al doilea semnal: f2 = 2…4
• Amplitudinea purtătoarei: P = 3…5V
• Frecvența purtătoare: f0 = 100…500

3
2. Descrierea resurselor necesare pentru utilizarea simulatorului
Cerințe minime:
• Procesor Intel sau AMD x86-64
• Memorie disk HDD 3.4 GB spațiu liber
• Memorie RAM 4GB (recomandat 8GB)
• Video: 32 MB RAM placă video
• Audio: placa audio integrată
• Mouse
• Tastatură

Software:
• MATLAB version 9.11 (R2021b)

3. Introducere teoretica
3.1. Introducere modularea si demodularea

Procesul de modulație analogică constă în varierea unui parametru al semnalului purtător


(amplitudine, frecventa, faza etc.) în ritmul valorii instantanee a semnalului modulator. Natura
informației este analogică, iar procesul de modulație nu modifică natura acestor informații.

În procesul de modulare, există trei semnale:


• Semnalul modulator – acesta este semnalul care conține informația ce se dorește a fi transmisă
• Semnalul purtător – acesta este semnalul folosit pentru a transmite semnalul modulator, pe o
frecvență mult mai mare decât semnalul modulator
• Semnalul modulat – acesta este semnalul rezultat în urma procesului de modulație, care se va
transmite

Schema bloc generală a unui modulator este:

unde
• s(t) = semnalul modulator
• p(t) = semnalul purtător

4
• sMF(t) = semnalul modulat
Modulațiile analogice se împart în: modulația în amplitudine (MA), modulația în frecvență
(MF) și modulația în fază (MP).
Demodularea reprezintă procesul invers modulării, în urma căruia recuperăm informația din
semnalul modulat.

3.2. Modulatia în amplitudine (MA)

Se notează:

1) - Forma generală a semnalului ML (modulat liniar)

Schema generală de producere este:

Conține:
- un multiplicator,
- un filtru de formare cu funcția de transfer H().
Proprietățile sML (t) depind de:
- caracteristicile FF și
- de existența componentei medii a lui g(t) .

2) Semnale MA
Dacă g(t) are o componentă continuă gc  0, g(t) = gc+g0(t) (unde g0(t) are componenta medie
nulă) și dacă FF are H() = 1, rezultă

5
unde: - este legea de variație a semnalului modulator, | f(t)|1 ;
m - este gradul de modulație, proporțional cu amplitudinea semnalului modulator.
Schema de producere este

a) Forma semnalului

Anvelopele semnalului sunt:

• pentru m≤1

• pentru m > 1

6
3.3. Demodularea semnalelor MA

Demodularea este procesul invers modulării - adică procesul de extragere a semnalului


modulator din semnalul modulat.
Procedeele de demodulare utilizate sunt:
• demodularea necoerentă (asincronă);
• demodularea coerentă (sincronă).

1) Demodularea necoerentă
Se folosește în special pentru demodularea semnalului
MA,
Extragerea informației se face cu ajutorul detectorului de anvelopă care este capabil să
urmărească variațiile anvelopei, ceea ce indică și numele său.

a) Detectorul de anvelopă prin mediere


Schema de principiu este

Într-o primă analiză se consideră dioda ideală, astfel că pentru:

Dacă

7
Atunci

Presupunând că filtrul reține numai JF și suprimă componentele de RF modulate, atunci

Condițiile de filtrare necesare în proiectarea filtrului sunt:

- pentru ca filtrul să lase să treacă componenta de frecvență superioară a


spectrului util cu o atenuare maximă de 3 dB, această valoare corespunzând egalității;

- pentru a atenua suficient frecvența cea mai apropiată de spectrul


util, condiția fiind pusă pentru cazul cel mai defavorabil.
Dacă

Se constată că determinarea valorilor pentru elementele filtrului este critică.


Dacă Cd este prea mare se obțin atenuări bune pentru componentele de RF inutile, dar sunt
afectate și cele utile, în special componentele de frecvență superioară din spectrul util.
Dacă Cd este prea mic, atunci fenomenul este invers, nu mai sunt bine atenuate componentele de
RF.

2) Demodularea coerentă
Această demodulare poate fi realizată: - cu sumator, sau
- cu circuit de produs.
a) Demodularea de produs
Schema demodulării conține un multiplicator în patru cadrane și un FTJ.

8
Semnalele aplicate sunt:

Semnalul după multiplicare este

iar după FTJ

4. Descrierea solutiei alese


Am simulat programul în Matlab.
Am ales A = 2V; f1 = 2Hz; B = 1V; f2 = 3Hz; Fs = 1e6Hz;P = 3; f0 = 200Hz; RSZ = 10dB.
Voi aplica la intrare semnalul informațional s(t), format din suma a două componente
cosinusoidale:

sA(t) = A * cos (ω1*t) = A * cos (2*π*f1*t) = cos (2*π*t)

sB(t) = B * cos (ω2*t) = B * cos (2*π*f2*t) = 2*cos (6*π*t)

s(t) = sA(t) + sB(t) = A * cos (ω1*t) + B * cos (ω2*t) = cos (2*π*t) + 2*cos (6*π*t)

Voi modula acest semnal cu purtătoarea:

p(t) = P * cos (ω0*t) = P * cos (2*π*f0*t) = 10*cos(2*π*105*t)

Pentru modulare, voi folosi formula de definiție:

sMA(t) = U0 * [1+mf(t)]cos(ω0*t)
close all
clear all
clc

%Parametrii semnal
A = 2; %amplitudinea primului semnal
9
f1 = 2; %frecventa primului semnal
w1 = 2*pi*f1; %frecventa unghiulara a primului semnal

B = 1; %amplitudinea celui de al doilea semnal


f2 = 3; %frecventa celui de al doilea semnal
w2 = 2*pi*f2; %frecventa unghiulara a celui de al doilea semnal

Fs = 1e6; %frecventa de esantionare

P = 3; %amplitudinea semnalului purtator


f0 = 200; %frecventa semnalului purtator
w0 = 2*pi*f0; %frecventa unghiulara a semnalului purtator
maxf1=4; %limita superioara a intervalului de valori a frecventei f1
maxf2=4; %limita supeioara a intervalului de valori a frecventei f2
RSZ = 10; %raportul semnal zgomot

%% Generare semnale

t=0:0.00001:1;

sA = A*cos(w1*t); %primul semnal


sB = B*cos(w2*t); %al doilea semnal
s = sA + sB; %semnalul modulator

p = P * cos(w0*t); %semnalul purtator

figure(1),plot(t,sA),grid,title('Semnal informational
1'),xlabel('timp(s)'),ylabel('amplitudine(V)');
figure(2),plot(t,sB),grid,title('Semnal informational
2'),xlabel('timp(s)'),ylabel('amplitudine(V)');
figure(3),plot(t,s),grid,title('Semnalul
modulator'),xlabel('timp(s)'),ylabel('amplitudine(V)');
figure(4),plot(t,p),grid,title('Semnalul
purtator'),xlabel('timp(s)'),ylabel('amplitudine(V)');

%% Modulare

m=(A+B)/P; %grad modulatie

sMA =(1+m.*s).*p;

figure(5),plot(t,sMA),grid,title('Semnalul modulat sMA la intrarea in


canal'),xlabel('timp(s)'),ylabel('amplitudine(V)');
%% Canal cu zgomot ZAGA

sMA_canal = awgn(sMA,RSZ,'measured','dB');
figure(6), plot(t,sMA_canal),grid,title('Semnalul modulat sMA la iesirea din
canal'),xlabel('timp(s)'),ylabel('amplitudine(V)');

spectru_iesire=fft(sMA_canal);
figure(7), plot(abs(spectru_iesire)), title('Spectrul semnalului modulat afectat de
ZAGA');

%% Demodulatorul de produs
demodulator_produs=sMA_canal.*cos(2*pi*f0*t);
spectru_demodulator_produs=fft(demodulator_produs);

10
figure(8), plot(abs(spectru_demodulator_produs)), title('Semnalul demodulat cu
demodulatorul de produs');
Wp=2*pi*max(maxf1,maxf2) %pulsatia corespunzatoare frecventei maxime dintre f1 si f2
Ws=2*pi*(2*f0-max(maxf1,maxf2))
[n,Wn]=buttord(Wp,Ws,1,40,'s');
[b,a]=butter(n,Wn,'s');
[bd,ad]=impinvar(b,a,Fs);
iesire_demodulator_produs=filter(bd,ad,demodulator_produs); %filtrarea semnalului
demodulat cu demodulatorul de produs
spectru_iesire_demodulator_produs=fft(iesire_demodulator_produs);
%spectrul semnalului filtrat in urma demodularii
figure(9), plot(abs(spectru_iesire_demodulator_produs)),
title('Spectrul semnalului filtrat in urma demodularii');
figure(10), plot(t,s,'green',t,iesire_demodulator_produs,'blue'),
title('Semnalul transmis si semnalul demodulat cu demodulatorul de produs si filtrat ');

%% Demodulator de valori medii


sMAd = [diff(sMA_canal) 0]; %derivarea semnalului
figure(11),plot(t,sMAd),grid,title('Semnalul dupa
derivare'),xlabel('timp(s)'),ylabel('amplitudine(V)');
sMAe = abs(sMAd); %selectarea anvelopei pozitive, detectia anvelopei
figure(12),plot(t,sMAe),grid,title('Semnalul dupa detectie
anvelopa'),xlabel('timp(s)'),ylabel('amplitudine(V)');
Wp=2*pi*max(maxf1,maxf2) %pulsatia corespunzatoare frecventei maxime dintre f1 si f2
Ws=2*pi*(2*f0-max(maxf1,maxf2))
[n,Wn]=buttord(Wp,Ws,1,40,'s');
[b,a]=butter(n,Wn,'s');
[bd,ad]=impinvar(b,a,Fs);
sMA_iesire=filter(bd,ad,sMAe); %filtrarea semnalului demodulat cu valori medii
%figure(13), plot(abs(spectru_iesire_demodulator_valm)), title('spectrul semnalului
filtrat in urma demodularii');
figure(14), plot(t,s,'green',t,sMA_iesire,'blue'), title('semnalul transmis si semnalul
demodulat cu demodulatorul de val medii si filtrat ');

11
5. Determinarea caracteristicii de modulare/ demodulare si
reprezentarea grafica corespunzatoare

Fig.1. Semnalul informațional 1

12
Fig.2. Semnalul informațional 2

Fig.3. Semnalul purtător

13
Fig.4. Semnalul modulat MA la intrarea in canal

14
Fig.5. Semnalul modulat MA la ieșirea din canal

Fig.6. Spectrul semnalului modulat MA afectat de ZAGA

15
Fig.7. Spectrul semnalului demodulat cu demodulator de produs

16
Fig.8. Spectrul semnalului filtrat în urma demodulării

Fig.9. Semnalul trimis și semnalul demodulat cu demodulator de produs și filtrat

17
Fig.10. Semnalul după derivare

18
Fig.11. Semnalul dupa detecția de anvelopă

19
Fig.12. Semnalul transmis și semnalul demodulat cu demodulatorul de val medii și
filtrat

6. Solutia propusa pentru transpunerea într-un FPGA a modulatorului


Pentru transpunerea proiectului într-un FPGA, va trebui sa luăm în calcul faptul că simularea
realizată anterior are un caracter ideal, în timp ce obținerea sub o formă fizică folosește circuite reale.
De acea, va fi nevoie să considerăm un anumit nivel de realizabilitate. Există anumite probleme care
pot fi întampinate. O primă problemă este reprezentată de faptul că soluțiile pe care le-am găsit și le-am
optimizat în simulare să nu fie funcționale într-un FPGA. De asemenea, dacă blocurile folosite au un
caracter real, ne putem aștepta ca acestea să introducă zgomot, întârzieri sau distorsiuni.

Procedura de transpunere, după realizarea simulării, este prezentată în continuare:


• Analiza hardware și software a arhitecturilor blocurilor folosite și adaptarea arhitecturii
hardware din blocuri idealizate în blocuri reale
• Generarea codurilor de VHDL sau Verilog optimizate pentru implementarea în logică digitală.
Se folosesc modele de debug, cum ar fi DO-254 și ISO26262
• Integrarea algorimului, folosind un model de referință pentru HDL
• Verificarea algoritmului într-un simulator HDL, pe un FPGA sau pe un dispozitiv SoC
conectat la test bench-ul din programul MATLAB
• Sinteza și implementarea, care transformă logica digitală concepută anterior

20
7. Bibliografie
https://www.cnic.ro/telecom/canale.htm

https://www.academia.edu/10897697/Modulatia_in_amplitudine

http://www.ac.legacy.tuiasi.ro/~caruntuc/TD_CDP/Laborator/L04_MA.pdf

http://ep.etc.tuiasi.ro/files/SCS/SCS2/SCS2_L01V1.pdf

http://mec.upt.ro/dolga/PSM_capitolul_8.pdf

8. LISTINGUL FUNCTIILOR CE ALCATUIESC PROGRAMUL DE SIMULARE


• Y = cos(X) (pentru generarea semnalelor), realizează funcția cosinus

• plot(X,Y), realizează o reprezentare 2D a vectorului Y în funcție de valorile lui X

• title(titletext), adaugă titlu unui grafic

• xlabel(txt), ylabel(txt), adaugă nume axelor x și y ale unui grafic

• M = max(A), returnează valoarea maximă a vectorului A

• C = max(A,B), returnează valoarea maximă dintre A și B

• C = min(A,B) , returnează valoarea minimă dintre A și B

• B = cumsum(A) (pentru integrala pe t, din cadrul modulației), returnează suma cumulativă a


vectorului A

• out = awgn(in,snr,signalpower,powertype) (pentru simularea canalului ZAGA), adaugă zgomot


gausian alb peste semnalul in. Funcția o sa măsoare puterea semnalului de intrare înainte sa aplice
zgomotul, dacă utilizăm 'measured'. Se va specifica valoarea raportului semnal zgomot prin snr, și
faptul că aceasta valoare este in decibeli 'dB'.

• Y = diff(X) (pentru derivarea semnalului, din cadrul demodulatorului), calculează diferențele


elementelor succesive din vector: Y = [X(2)-X(1) X(3)-X(2) ... X(m)-X(m-1)]. Dacă vectorul X are
dimensiunea m, atunci Y va avea dimensiunea m-1. De aceea, voi adăuga un 0 la finalul vectorului Y,
pentru a menține lungimea m.

• Y = abs(X) (pentru detecția de anvelopă), realizează funcția modul

• legend(label1, label2), adaugă legendă unui grafic

• [b,a] = butter(n,Wn) (pentru calculul coeficienților filtrului Butterworth), returnează

coeficienții funcției de transfer, pentru un filtru trece jos Butterworth de ordin n, cu

frecvența de tăiere normată Wn.


21
• y = filter(b,a,x) (pentru filtrarea semnalului în demodulator) filtrează semnalul x folosind

o funcție de transfer definită prin coeficienții a și b. Dacă x este un vecot de lungime m,

atunci funcția va returna un vector y tot de lungime m.

22

S-ar putea să vă placă și