Digital Delta-Sigma modulátor

A

Ansunamu

Guest
Kdokoliv může průvodce mi, jak vytvořit digitální Delta-Sigma modulátor?První příkaz nebo secomd objednávka bude ok!Nemám ponětí o vybudování Matlab model pro multi-bit náměty Delta-Sigma modulátor!

Po vybudování Matlab model, jak se jeden program quantizer by Verilog?Mám prostě ignorovat LSB?

 
Nazdar,
Záleží na aplikaci.Pokud budete chtít použít pro ADC volba závisí na počtu bitů rozlišení, které potřebujete v konečném ouput a můžete ignorovat LSBs.
BRM

 
Samozřejmě ne.Například:

funkce [ds3out, out3, Out2, out1, fb] = ds31 (první, insamp, out3, Out2, out1, fb)

if (reset == 0)
out1 (2) = insamp/16 - fb (1) / 16 out1 (1);
Out2 (2) = out1 (1) - fb (1) / 4 - out3 (1) / 128 Out2 (1);
out3 (2) = Out2 (1) - fb (1) * (1 / 2 1 / 4) out3 (1);
kvantovaný = quantizer (out3 (2));
ds3out = kvantovaný;

% aktualizace ds3 stavu
unquantized = unquantizer (kvantovaný);
out1 (1) = out1 (2);
Out2 (1) = Out2 (2);
out3 (1) = out3 (2);
fb (1) = unquantized;
jiné
out1 (1:2) = 0; ds3out = 0; Out2 (1:2) = 0; out3 (1:2) = 0;
konec;Funkce quantizer_out = quantizer (insamp)% Quantizer pro delta-sigma modulátoru

qlevel0 = 30720;
qlevel1 = 26624;
qlevel2 = 22528;
qlevel3 = 18432;
qlevel4 = 14336;
qlevel5 = 10244;
qlevel6 = 6144;
qlevel7 = 2048;
qlevel8 = -2048;
qlevel9 = -6144;
qlevel10 = -10244;
qlevel11 = -14336;
qlevel12 = -18432;
qlevel13 = -22528;
qlevel14 = -26624;
qlevel15 = -30720;

if (insamp> qlevel0)
quantizer_out = 16;
konec;

if ((qlevel0> = insamp) & (insamp> qlevel1))
quantizer_out = 15;
konec;

if ((qlevel1> = insamp) & (insamp> qlevel2))
quantizer_out = 14;
konec;

if ((qlevel2> = insamp) & (insamp> qlevel3))
quantizer_out = 13;
konec;

if ((qlevel3> = insamp) & (insamp> qlevel4))
quantizer_out = 12;
konec;

if ((qlevel4> = insamp) & (insamp> qlevel5))
quantizer_out = 11;
konec;

if ((qlevel5> = insamp) & (insamp> qlevel6))
quantizer_out = 10;
konec;

if ((qlevel6> = insamp) & (insamp> qlevel7))
quantizer_out = 9;
konec;

if ((qlevel7> = insamp) & (insamp> qlevel8))
quantizer_out = 8;
konec;

if ((qlevel8> = insamp) & (insamp> qlevel9))
quantizer_out = 7;
konec;

if ((qlevel9> = insamp) & (insamp> qlevel10))
quantizer_out = 6;
konec;

if ((qlevel10> = insamp) & (insamp> qlevel11))
quantizer_out = 5;
konec;

if ((qlevel11> = insamp) & (insamp> qlevel12))
quantizer_out = 4;
konec;

if ((qlevel12> = insamp) & (insamp> qlevel13))
quantizer_out = 3;
konec;

if ((qlevel13> = insamp) & (insamp> qlevel14))
quantizer_out = 2;
konec;

if ((qlevel14> = insamp) & (insamp> qlevel15))
quantizer_out = 1;
konec;

if (qlevel15> = insamp)
quantizer_out = 0;
konec;Funkce unquantizer_out = unquantizer (insamp)% Unquantizer pro delta-sigma modulátoru

qlevel0 = 32768;
qlevel1 = 28672;
qlevel2 = 24576;
qlevel3 = 20480;
qlevel4 = 16384;
qlevel5 = 12288;
qlevel6 = 8192;
qlevel7 = 4096;
qlevel8 = 0;
qlevel9 = -4096;
qlevel10 = -8192;
qlevel11 = -12288;
qlevel12 = -16384;
qlevel13 = -20480;
qlevel14 = -24576;
qlevel15 = -28672;
qlevel16 = -32768;

if (insamp == 16)
unquantizer_out = qlevel0;
konec;

if (insamp == 15)
unquantizer_out = qlevel1;
konec;

if (insamp == 14)
unquantizer_out = qlevel2;
konec;

if (insamp == 13)
unquantizer_out = qlevel3;
konec;

if (insamp == 12)
unquantizer_out = qlevel4;
konec;

if (insamp == 11)
unquantizer_out = qlevel5;
konec;

if (insamp == 10)
unquantizer_out = qlevel6;
konec;

if (insamp == 9)
unquantizer_out = qlevel7;
konec;

if (insamp ==

<img src="http://www.edaboard.com/images/smiles/icon_cool.gif" alt="Chladný" border="0" />unquantizer_out = qlevel8;
konec;

if (insamp == 7)
unquantizer_out = qlevel9;
konec;

if (insamp == 6)
unquantizer_out = qlevel10;
konec;

if (insamp == 5)
unquantizer_out = qlevel11;
konec;

if (insamp == 4)
unquantizer_out = qlevel12;
konec;

if (insamp == 3)
unquantizer_out = qlevel13;
konec;

if (insamp == 2)
unquantizer_out = qlevel14;
konec;

if (insamp == 1)
unquantizer_out = qlevel15;
konec;

if (insamp == 0)
unquantizer_out = qlevel16;
konec;

 

Welcome to EDABoard.com

Sponsor

Back
Top