0% acharam este documento útil (0 voto)
3 visualizações20 páginas

Projeto de Sintetizador Digital em FPGA

O documento descreve o projeto de um sintetizador digital direto baseado em FPGA, utilizando a técnica de Síntese Digital Direta (DDS). O trabalho inclui a análise do funcionamento do sintetizador, cálculo da frequência de saída e desempenho espúrio, além do projeto de um filtro passa-baixo para atenuar harmônicos indesejados. O filtro foi dimensionado com base em tabelas, considerando parâmetros como frequência de corte e atenuação, e simulações foram realizadas para validar o desempenho do circuito.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
3 visualizações20 páginas

Projeto de Sintetizador Digital em FPGA

O documento descreve o projeto de um sintetizador digital direto baseado em FPGA, utilizando a técnica de Síntese Digital Direta (DDS). O trabalho inclui a análise do funcionamento do sintetizador, cálculo da frequência de saída e desempenho espúrio, além do projeto de um filtro passa-baixo para atenuar harmônicos indesejados. O filtro foi dimensionado com base em tabelas, considerando parâmetros como frequência de corte e atenuação, e simulações foram realizadas para validar o desempenho do circuito.
Direitos autorais
© All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

Electrónica das Telecomunicações

FEUP, LEEC 2000/2001

Projecto de um sintetizador digital


directo baseado numa FPGA

Joaquim Milagre Júnior

Jorge André da Rocha Leitão

José Ângelo Rebelo Sarmento


Sintetizador digital directo

Neste trabalho pretendeu-se estudar um sintetizador de frequências baseado na


técnica de Síntese Digital Directa (Direct Digital Synthesis, DDS).

O trabalho desenvolveu-se em duas fases:

Análise do funcionamento do sintetizador

Projecto e análise do filtro passa baixo da saída do sintetizador

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 1/19


directo baseado numa FPGA
Análise do funcionamento do sintetizador

Configurou-se a FPGA para as seguintes características:

Resolução do acumulador de fase: L=24 bit

Resolução de fase da LUT: M=10 bit

Resolução de amplitude da LUT: N=8 bit

Frequência do relógio: fclk=50 MHz

Palavra de controlo: ∆=200000H=2097152

A partir da equação de sintonia do sistema DDS e usando os parâmetros


anteriores, é possível determinar a frequência de saída:

f clk
f out = ∆ = 6,25MHz
2L

Representa-se de seguida a forma de onda visualizada no analisador de espectros


para uma frequência de saída de 6,25 MHz:

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 2/19


directo baseado numa FPGA
É notória a presença dos harmónicos (com envolvente do tipo sen(x)/x), que terão
de ser atenuados por um filtro passa-baixo.

O desempenho espúrio, ou seja, a amplitude das frequências diferentes da


fundamental (frequências espúrias) relativamente a esta é a figura de mérito de um
sistema DDS. Uma medida directa deste desempenho é a chamada gama dinâmica
livre de espúrios ou SFDR (Spurious Free Dynamic Range). É habitualmente
definida como sendo a diferença entre a amplitude da frequência fundamental e a
amplitude da componente espúria mais elevada, dentro da banda de Nyquist.

Para uma frequência de saída de 7,1 MHz fez-se o cálculo do SFDR, a partir da
visualização no analisador de espectros:

A amplitude da frequência fundamental é –62,3 dBm enquanto a amplitude da


componente espúria mais elevada, na banda [0, 20] MHz, será cerca de –110 dBm
(medidos tendo como base o valor da componente fundamental e uma escala de
10dBm/divisão). Assim o SFDR será aproximadamente –50 dBc, em que dBc
representa a potência de um espúrio relativamente à potência da frequência
fundamental

Teoricamente, os espúrios não serão maiores do que -6M dBc; como M=10 bits,
será -60 dBc. Este é um valor suficientemente próximo do observado (embora 10
dBm corresponda a uma potência do maior espúrio 10 vezes superior), tendo em conta
a habitual natureza optimista dos valores teóricos.

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 3/19


directo baseado numa FPGA
1 1
A seguir fez-se o estudo do espectro para duas frequências de saída, f clk e f clk :
3 5

1
f out = f clk = 16,67 MHz
3

Devido ao processo de amostragem, o DDS produz frequências imagem em


n f clk ± f out ( n = 0,1,2...) :

n f1 (MHz) f2 (MHz)
0 (-16,65) 16,65
1 33,35 66,65
...

Na representação gráfica é possível observar a frequência fundamental (16,65


MHz) e o harmónico devido a fclk-fout=33,35 MHz.

Aprecem também harmónicos a frequências múltiplas da frequência


fundamental. O primeiro destes harmónicos será a 33,3 MHz; a sua energia será
somada ao harmónico gerado por amostragem a 33,35 MHz, já que as duas
frequências são muito próximas. Isto origina que a amplitude desta risca seja quase
tão elevada como a fundamental. Aparecerão outras riscas a 49,95 MHz, ainda visível,
e outras, que já não vão aparecer no espectro, por estar limitado a 50 MHz.

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 4/19


directo baseado numa FPGA
1
f out = f clk = 10 MHz
5

As frequências imagens geradas devido à amostragem são as seguintes:

n f1 (MHz) f2 (MHz)
0 (-10,00) 10,00
1 40,00 60,00
...

Mais uma vez é possível observar a frequência fundamental (10 MHz) e o


harmónico devido a fclk-fout=40 MHz.

Os harmónicos a frequências múltiplas da fundamental serão a 20 MHz, 30


MHz, 40 MHz (este é adicionado ao harmónico gerado devido à amostragem, daí a
sua amplitude mais elevada), 50 MHz e a partir daqui já não serão visualizados.

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 5/19


directo baseado numa FPGA
Projecto do filtro de saída do sintetizador

O filtro de saída pretendido, do tipo Cauer-Chebychev e de 5ª ordem, foi


dimensionado com recurso a tabelas. Estas tabelas permitem seleccionar um dado
coeficiente de reflexão e uma dada atenuação mínima e máxima e prever as
localizações dos zeros da função de transferência do filtro, bem como saber os valores
dos componentes passivos (bobinas e condensadores) a usar na seguinte configuração:

Conforme foi descrito, sendo o relógio do sintetizador digital de frequência 50


MHz (fclk), seria possível gerar uma frequência máxima de saída de fclk/2, conforme
previsto no teorema de Nyquist. Na prática, limita-se essa frequência de saída a
aproximadamente 40% do valor do relógio – 20 MHz no presente trabalho,
permitindo assim uma certa banda de transição para o filtro. Isto é necessário porque
o sinal de saída do sintetizador não é uma sinusóide perfeita (pura e analógica), a qual
teria como espectro uma única risca à sua frequência e dispensaria a necessidade do
filtro; o sinal de saída é antes uma sinusóide amostrada (i.e., discreta nos tempos), à
qual corresponde o mesmo espectro da sinusóide perfeita adicionado de riscas
espectrais em torno de múltiplos da frequência de amostragem; devido a não
linearidades e outros fenómenos, surgem também no espectro os vários harmónicos da
frequência fundamental:

À medida que se aumenta a frequência de saída, aproximando-a de 25 MHz


(fclk/2), a imagem espectral centrada em fclk dará origem a uma risca que se vai
também aproximando de 25 MHz "pelo outro lado". Gradualmente, a banda de
transição disponível para um filtro que preservasse a risca fundamental mas

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 6/19


directo baseado numa FPGA
eliminasse a imagem vai sendo reduzida, e daí a necessidade de limitar as frequências
geradas a 20 MHz. As especificações do filtro são portanto:

Frequência de corte fc=20 MHz

Atenuação mínima na banda de corte Amin=37 dB

Sobram ainda outros parâmetros a determinar, tais como:

Coeficiente de reflexão do filtro ρ

Localização dos dois primeiros zeros relativamente à frequência de corte

A escolha da localização do primeiro zero (f4) é importante; desprezando o


"ripple" na banda de passagem, a atenuação máxima ocorrerá para f=fc, a maior
frequência que se pretende ainda deixar passar. Para esta frequência, a imagem
espectral resultante da amostragem encontra-se em 30 MHz, e como tal uma maneira
de garantir uma diferença de amplitudes "suficiente" seria colocar aí o primeiro zero
do filtro. Isto é também conveniente uma vez que um sinal desejado a 20 MHz sofre
muito mais por uma interferência a 30 MHz do que um sinal desejado a, por exemplo,
10 MHz sofre com uma interferência de igual ou até maior amplitude em 40 MHz.
A escolha do segundo (e subsequentes) zeros do filtro não merece particular
atenção.

O coeficiente de reflexão do filtro é já um parâmetro de grande importância;


idealmente o coeficiente de reflexão seria de 0%, correspondente à adaptação
perfeita do filtro ao circuito a montante. Não sendo isto possível, procurou-se o
coeficiente de reflexão mínimo (5%), tomando este parâmetro como o mais
importante de todos os "arbitráveis".

Também a atenuação máxima na banda de passagem não foi objecto de


rigoroso critério; a saída "normal" do sintetizador digital é uma risca espectral, para a
qual o "ripple" é indiferente (eventualmente afectando apenas a verdadeira atenuação
dos sinais indesejados relativamente à risca pretendida). Também em aplicações de
modulação digital de frequência ou fase (FSK e PSK), o espectro de saída consiste de
múltiplas riscas espectrais na mesma situação. Apenas aplicações de modulação de
amplitude envolveriam um espectro de saída no qual a amplitude relativa das diversas
componentes espectrais teria já importância, mas de facto o valor de Amax não vinha
especificado nas tabelas do filtro, e a simulação em Spice veio mais tarde a revelar um
valor bastante reduzido para este parâmetro.

Com os seguintes parâmetros:

Amin = 37 dB
η =5
ρ = 5%
f c = 20 MHz

Obtém-se da consulta da tabela:

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 7/19


directo baseado numa FPGA
Ω s = 1,5890
f 2 = Ω 2 * f c = 2,5003 * 20 MHz = 50,00MHz
Ω1 = 1,1748
f 4 = Ω 4 * f c = 1,6525 * 20 MHz = 33,05MHz
Ω 2 = 2,5003
f s =Ω s * f c = 1,5890 * 20 MHz = 31,78MHz
Ω 3 = 0,9135
Amax = −10 log10 (1 − ρ 2 ) = 0,011 (VSWR = 1,105)
Ω 4 = 1,6525

C '1 = 0,6637
C ' 2 = 0,1374
L' 2 = 1,1638
C ' 3 = 1,3396
C ' 4 = 0,4278
L' 4 = 0,8559
C ' 5 = 0,4595

Valores de referência:

ωτ = 2πf c = 126MHz
Rτ = Rin = Rout = 50Ω

Lτ = = 597 nH
ωτ
1
Cτ = = 159 pF
ωτ Rτ

Valores absolutos:

Ci = Cτ C ' i
Li = Lτ L' i

C1 = 106 pF → 100 pF // 4,7 pF


C 2 = 22 pF
L2 = 462nH
C3 = 213 pF → 180 pF // 33 pF
C 4 = 68 pF
L4 = 340nH
C5 = 73 pF → 68 pF // 4,7 pF

Os componentes "reais" do circuito não são exactamente os especificados na


tabela, devido à restrição de usar componentes da série E12, e com alguma escassez
de escolha. Assim, os valores usados foram:

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 8/19


directo baseado numa FPGA
C1 = 104,7 pF → 100 pF // 4,7 pF
C 2 = 22 pF
L2 = 460nH
C3 = 213 pF → 180 pF // 33 pF
C 4 = 68 pF
L4 = 330nH
C5 = 72,7 pF → 68 pF // 4,7 pF

Estando o filtro dimensionado, é possível passar à simulação em Spice. Está


apresentado a seguir o código para um filtro ideal e o respectivo resultado, entre 1 e
200 MHz:

R1 1 2 50
C1 2 0 106p
L2 2 3 462n
C2 2 3 22p
C3 3 0 213p
L4 3 4 340n
C4 3 4 68p
C5 4 0 73p
R2 4 0 50
V1 1 0 ac
.ac dec 1000 1Meg 200Meg
.plot ac vdb(4)
.end

O código para o filtro real (usando os componentes da série E12) é o seguinte:

R1 1 2 50
C1 2 0 104.7p
L2 2 3 460n
C2 2 3 22p
C3 3 0 213p
L4 3 4 330n

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 9/19


directo baseado numa FPGA
C4 3 4 68p
C5 4 0 72.7p
R2 4 0 50
V1 1 0 ac
.ac dec 1000 1Meg 200Meg
.plot ac vdb(4)
.end

Pode constatar-se que tem de facto uma resposta bastante semelhante à ideal:

Só ampliando a região da banda de passagem é que é possível detectar o "ripple"


nesta (um bom presságio!):

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 10/19


directo baseado numa FPGA
O primeiro zero do filtro real ocorre não exactamente a 30 MHz mas sim perto dos
33 MHz, valor coerente com o previsto na tabela (33,05 MHz):

Será ilustrativo apresentar também a simulação de um filtro com componentes


reais cujos valores sofressem um desvio de 5% (tolerância) relativamente ao seu valor
de catálogo, no sentido que os afastasse mais do valor ideal. Este seria portanto um
"worst-case scenario":

R1 1 2 50
C1 2 0 99.5p
L2 2 3 460n
C2 2 3 21p
C3 3 0 202p
L4 3 4 315n
C4 3 4 64p
C5 4 0 68.6p
R2 4 0 50
V1 1 0 ac
.ac dec 1000 1Meg 200Meg
.plot ac vdb(4)
.end

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 11/19


directo baseado numa FPGA
Procurando realçar a deslocação do primeiro zero:

O zero subiu para cerca de 35 MHz. Pior que isto, e como consequência, a
atenuação do filtro a 30 MHz foi reduzida para cerca de 20 dB!

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 12/19


directo baseado numa FPGA
Análise do comportamento e caracterização do filtro

Depois de montado com os componentes escolhidos, o filtro foi colocado num


Network Analyser tendo-se obtido os parâmetros S21 e S11, correspondentes ao
coeficiente de transmissão directo (ganho) e ao coeficiente de reflexão de entrada,
respectivamente. A partir destes parâmetros é possível prever muitas características do
filtro, tais como o Insertion Loss, Return Loss, Voltage Standing Wave Ratio ou a sua
impedância de entrada. Esta análise foi feita com a ajuda do Matlab.

Insertion Loss (IL):

Corresponde à “perda” do sistema; se o valor absoluto da tensão de saída for


inferior à da entrada, diz-se que o sistema tem atenuação ou insertion loss.

IL = 20 log10 ( S 21 )
Código Matlab usado:

eixo_s21=s21(:,1);
re_s21=s21(:,2);
im_s21=s21(:,3);

log_s21=20*log10(abs(re_s21+j*im_s21));

plot(eixo_s21,mod_s21)
xlabel('Frequência (MHz)')
ylabel('|S21| (dB)')

for i=1:801
if log_s21(i)<=-2.9 & log_s21(i)>=-3.1
log_s21(i)
eixo_s21(i)
end
end

O vector “s21” corresponde aos valores gerados no Network Analyser e está


dividido em três colunas: frequência, parte real e parte imaginária. O ciclo “for” serve
para “encontrar” a frequência à qual o ganho é –3 dB (frequência de corte).
Procuraram-se todos os valores entre –2,9 dB e –3,1 dB porque se trata de uma
amostragem, logo os valores são discretos e aproximados.
O valor encontrado para fc foi de aproximadamente 25,4 MHz (para um ganho de
–3,02 dB) valor um pouco acima dos 20 MHz previstos.

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 13/19


directo baseado numa FPGA
0

-10

-20

-30
|S21| (dB)

-40

-50

-60

-70
0 10 20 30 40 50 60 70 80 90 100
Frequência (MHz)

Observando o gráfico é possível também verificar que a atenuação mínima é


aproximadamente a desejada, ou seja, 37 dB.
O primeiro zero ocorre a aproximadamente 36 MHz, valor um pouco acima dos
33,05 MHz previstos na tabela.

Return Loss (RL):

O return loss apresenta uma maneira de expressar o coeficiente de reflexão


(ρ=|S11|) em decibéis e pode ser definido como o “número de decibéis” que o sinal de
saída está abaixo do de entrada.

RL = 20 log10 ( S11 )
Código Matlab usado:

eixo_s11=s11(:,1)';
re_s11=s11(:,2)';
im_s11=s11(:,3)';

log_s11=20*log10(abs(re_s11+j*im_s11));

plot(eixo_s11,mod_s11)
xlabel('Frequência (MHz)')
ylabel('|S11| (dB)')

for i=1:801
if log_s11(i)>=-26.5 & log_s11(i)<=-25.5
log_s11(i)
eixo_s11(i)
end
end

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 14/19


directo baseado numa FPGA
Mais uma vez o vector “s11” corresponde ao gerado no Network Analyser.
O ciclo “for” serve para encontrar a frequência máxima para a qual a atenuação é
ainda inferior à do projecto (5%).

-5

-10

-15
|S11| (dB)

-20

-25

-30

-35

-40

-45
0 10 20 30 40 50 60 70 80 90 100
Frequência (MHz)

Na banda de operação do filtro (até 20 MHz), o coeficiente de reflexão máximo é


aproximadamente –14 dB, que corresponde a 20%, muito superior ao projectado.
Para o coeficiente de reflexão máximo desejado (5%, -26 dB), a máxima
frequência de operação será cerca de 13,3 MHz.

Voltage Standing Wave Ratio (VSWR):

Outra maneira de expressar a reflexão é o Voltage Standing Wave Ratio, que pode
ser definido como o quociente entre o valor máximo e mínimo da envolvente RF e
varia entre 1 (reflexão nula) e infinito (reflexão total).

1 + S11
VSWR =
1 − S11
Código Matlab usado:

eixo_s11=s11(:,1)';
re_s11=s11(:,2)';
im_s11=s11(:,3)';

mod_s11=abs(re_s11+j*im_s11);
vswr=(1+mod_s11)./(1-mod_s11);

plot(eixo_s11,vswr);

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 15/19


directo baseado numa FPGA
xlabel('Frequência (MHz)')
ylabel('VSWR')

for i=1:801
if vswr(i)>=1.102 & vswr(i)<=1.108
vswr(i)
eixo_s11(i)
end
end

Foi mais uma vez usado um ciclo “for”, desta vez para encontrar a frequência
máxima para a qual o VSWR é menor do que o do projecto (1,105).

700

600

500

400
VSWR

300

200

100

0
0 10 20 30 40 50 60 70 80 90 100
Frequência (MHz)

Como só interessam as frequências até 20 MHz, amplia-se a escala:

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 16/19


directo baseado numa FPGA
1.5

1.45

1.4

1.35

1.3
VSWR

1.25

1.2

1.15

1.1

1.05

1
0 2 4 6 8 10 12 14 16 18 20
Frequência (MHz)

Para o coeficiente de reflexão máximo de projecto (5%), o VSWR será 1,105.


Mais uma vez, a frequência máxima até à qual o VSWR é menor será 13,3 MHz, tal
como no caso anterior e como seria de esperar já que os valores são os mesmos, a
forma de os apresentar é que muda.

Impedância de entrada do filtro:

Quando a impedância de entrada do filtro é igual à da saída, o que só acontece


quando não há reflexão, diz-se que há máxima transferência de potência e a adaptação
é perfeita.
1 + S11
Z in = Z o , Zo=50 Ω
1 − S11
Código Matlab usado:

eixo_s11=s11(1:801)';
re_s11=s11(802:1602)';
im_s11=s11(1603:2403)';
vec_s11=re_s11+im_s11;

zin=50*(1+vec_s11)./(1-vec_s11);
plot(eixo_s11,zin);
xlabel('Frequência (MHz)')
ylabel('Impedância de entrada, Zin (Ohm)')

A seguir está a representação módulo e da fase da impedância de entrada:

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 17/19


directo baseado numa FPGA
250

200
Impedância de entrada, Zin (Ohm)

150

100

50

-50
0 10 20 30 40 50 60 70 80 90 100
Frequência (MHz)

Verifica-se que a fase é linear.

Ampliando apenas o gráfico do módulo na banda de funcionamento do filtro:

75

70
Impedância de entrada, Zin (Ohm)

65

60

55

50

45
0 2 4 6 8 10 12 14 16 18 20
Frequência (MHz)

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 18/19


directo baseado numa FPGA
Pode constatar-se, mais uma vez, que para frequências superiores a cerca de 13
MHz, o filtro não vai ter um bom comportamento. Idealmente o módulo da
impedância de entrada seria 50 Ω, correspondente a uma adaptação perfeita.

De todas as características descritas é possível concluir que o filtro vai ter uma
boa “prestação” na banda de transição até cerca de 13 MHz mas que se vai
degradar muito a partir desta frequência. Isto acontece provavelmente devido a
deficiências na montagem do filtro já que foi soldado sobre uma chapa. Para melhorar
as suas características seria conveniente utilizar placas de circuito impresso, que
apresentam menores resistências e capacidades.

Se este filtro fosse usado à saída do sintetizador, com uma frequência de saída de
19 MHz, seriam filtrados os harmónicos múltiplos desta (38 MHz, 57 MHz, 76
MHz...) e os produzidos devido ao processo de amostragem (31 MHz, 69 MHz, 81
MHz...). Apenas os harmónicos existentes na banda de transição do filtro
(componentes espúrias) não poderiam ser filtrados. Este “problema” no filtro pode ser
descrito qualitativamente por uma grandeza a que se dá o nome de SFDR.
Contudo o filtro não teria uma boa resposta para a frequência fundamental, pelo
que já foi dito atrás: o filtro só terá boa resposta na banda de passagem para
frequências inferiores a 13 MHz. Embora o atenuação a 19 MHz fosse ainda inferior a
3 dB, o coeficiente de reflexão seria quase 20%, um valor incomportável tal como o
módulo da impedância de entrada, que seria cerca de 73 Ω.

Electrónica das Telecomunicações Projecto de um sintetizador digital Página 19/19


directo baseado numa FPGA

Você também pode gostar