Anda di halaman 1dari 18

Generasi Sinyal Sawtooth

Sinyal sawtooth analog ke sinyal gelombang persegi dapat diperkirakan dengan sinewave, seperti
pada persamaan berikut:

Keakuratannya tergantung pada derajat n aproksimasi. Dalam urutan animasi, pendekatan
langkah demi langkah dari sinyal dapat dilihat, karena pendekatan kurva yang ideal, hingga
tanggal 25. harmonik:

Sumber: Wikipedia, Synthesis_sawtooth.gif
Penggunaan resonator digital tidak hanya menghasilkan sinyal sinewave, tetapi dihasilkan juga
sinyal sawtooth. Untuk memperoleh bentuk kurva yang jelas, n harus diubah dalam sistem DSP.
Walaupun resonator digital dengan unit ARM 32-bit hanya dapat menghasilkan maksimal hanya
5 sinyal sinewave secara real-time, dimana sinyal keluaran tidak dapat diwakili dengan optimal.
Dengan menggunakan integrator diskrit, kualitas sinyal output dapat ditingkatkan dan waktu
perhitungan dapat dikurangi. Fungsi transfer untuk integrator diskrit:

Secara grafis, generator gigi gergaji diskrit dapat diwakili oleh diagram berikut:

Dengan mengubah ekspresi untuk Y(z):

dan invers transformasi z, memberikan respon denyut nadi dari sistem:

Struktur blok dari sistem, dapat diturunkan dari respon pulsa:

Jika langkah unit diterapkan pada input dengan menetapkan x [n-1] = 1, dan menginisialisasi y
[0] = -1, maka untuk n 0 peningkatan output sinyal dalam bentuk tegangan ramp dengan tinggi
langkah dari . f
0
adalah frekuensi sinyal output yang diperlukan dan f
s,
frekuensi
sampel dari sistem DSP.













Generasi Sinyal Sinewave

Sebuah aplikasi penting dari DSP adalah menghasilkan sinyal periodik.
Digital Signal Generator



DAC


y [n] y (t)
Sebuah sistem pemrosesan sinyal digital terdiri dari komputer digital yang berfungsi sebagai
generator sinyal, dan konverter digital-analog untuk mengkonversi sinyal waktu-diskrit digital ke
sinyal waktu kontinyu analog.
Fungsi Sinewave:

dapat direpresentasikan oleh deret Taylor:

Keakuratannya tergantung pada n. Semakin besar nilai n, representasi dari fungsi sinewave
secara seri semakin akurat. Penerapan seri sebagai algoritma dalam mikrokontroler adalah
waktu-dan komputasi-intensif. Untuk mengurangi waktu komputasi, bentuk transformasi z dari
fungsi sinewave dapat digunakan dan didefinisikan sebagai berikut berdasarkan [1]:

Transformasi ekspresi, memberikan:

Pembalik z-transformasi, memberikan:


Untuk dan ekspresi sistem dapat diberikan:

Ekspresi dapat diwakili oleh diagram aliran sinyal berikut:

K konstan untuk frekuensi yang diperlukan, dapat didefinisikan dengan ekspresi berikut:

Dalam buku teks, struktur ini dijelaskan sebagai resonator digital.






Algoritma berikut untuk mikrokontroler ARM dapat disimpulkan Dari diagram aliran sinyal:
double data [3] = {-1, 0, 1};

singkat int sinus (void)
{
const mengambang k = 1.9938346;
const int pendek amp = 0x800;
singkat int out;
data [0] = data [1] * k - data [2];
data [2] = data [1], data [1] = data [0];
keluar = (singkat int) data [0] * amp;
kembali keluar;
}
Resonator yang dimulai setelah menginisialisasi y [n] = - 1, y [n-1] = 0, y [n-2] = 1 Untuk
memastikan bahwa amplitudo output memadai telah dihasilkan pada codec, hasil perhitungan
masing-masing harus ditingkatkan dengan nilai amplitudo yang tersimpan dalam amp variabel.
Tabel ini memberikan contoh menginisialisasi diperlukan amp variabel:
Frekuensi dalam Hz Nilai untuk amp
1 0x08
100 0x800
300 0x1600
500 0x2400
700 0x3200
1300 0x6400








Generasi Gelombang Sinyal Square

Gelombang sinyal persegi dapat dihasilkan dalam DSP dengan cara Fourier-series. Hal ini terkait
dengan superimposisi fungsi sinewave tertimbang, menurut aturan berikut [9]:

Dari fungsi ini dapat dilihat bahwa gelombang persegi dalam kasus yang ideal, berisi jumlah tak
terbatas harmonik aneh dengan mengurangi amplitudo. Ilustrasi menunjukkan osilasi mendasar
dengan dua harmonik, bersama dengan respon amplitudo dari sinyal gelombang persegi didekati.



Dalam urutan animasi, pendekatan langkah demi langkah dari sinyal dapat dilihat, karena
pendekatan kurva yang ideal, hingga tanggal 25. harmonik:

Sumber: Wikipedia, Synthesis_square.gif
Sebuah sinyal gelombang persegi dapat didekati dengan unit pemrosesan sinyal 32-bit, dengan
menggunakan resonator digital dijelaskan pada bagian generasi sinewave, dengan struktur
sebagai berikut hingga tingkat n = 5, secara real-time.

Contoh:
Tiga generator sinyal sinewave pada 100Hz, 300Hz dan 500Hz, harus digunakan untuk
menghasilkan sinyal gelombang persegi dengan frekuensi dasar 100Hz dan dua harmonisa.
Setiap generator sinyal sinewave menyimpan waktu tertunda nilai y [n-1] dan y [n-2] dalam
struktur data yang ditugaskan ganda data0 [3], double data1 [3] bzw. Ganda data2 [3].







Konstanta k
0,
k
1
dan k
2
untuk generasi frekuensi, harus dihitung dengan menggunakan ekspresi
berikut:

Selain itu, setelah selesai satu periode osilasi mendasar, sinyal generator gelombang persegi
harus kembali diinisialisasi, karena sinyal gelombang persegi yang dihasilkan terdistorsi oleh
pembulatan ke atas dalam perhitungan kesalahan. Untuk ini, jumlah nilai individu yang
diperlukan untuk osilasi mendasar harus dihitung. Dimulai pada frekuensi dasar 100Hz, dalam
contoh, = 80 langkah yang diperlukan untuk menghasilkan periode lengkap
dengan 8kHz.










Latihan: Generator Sinyal Sawtooth

Latihan 1
Uji sinyal gigi gergaji dengan frekuensi dasar 100Hz pada unit pengolahan sinyal 32-bit ARM
File-file sawt.c (berisi kontrol urutan komunikasi antara ARM dan codec), dan sawt.h file (yang
berisi fungsi untuk menghasilkan sinyal), disediakan untuk menyelesaikan latihan dengan unit
pengolahan sinyal 32-bit ARM. Int fungsi sawt pendek (void) terus disebut dalam struktur dasar
dari proses komunikasi antara ARM dan codec. Dengan mengubah variabel f
0,
frekuensi output
dapat diubah.
Untuk latihan ini, perangkat keras berikut ini harus dirakit pada UniTrain-I dan MCLS-modular

platform:

Untuk mentransfer program dari PC ke unit pengolahan sinyal 32-bit ARM,
menghubungkan serial interface COM1 ke unit pengolahan sinyal 32-bit ARM.
Hubungkan analog soket A-, B-dan Ground dari UniTrain-I ke Ground analog pada unit
pengolahan sinyal 32-bit ARM.
Connect + pada UniTrain-I ke MessP3 pada unit pengolahan sinyal 32-bit ARM.
Hubungkan B + pada UniTrain-I ke MessP1 pada unit pengolahan sinyal 32-bit ARM.
Hubungkan adaptor listrik ke

MCLS-modular.
Buka sawt.h file dengan editor teks .
Dalam sawt.h file header mengubah variabel f
0
sampai 100 dan menyimpan perubahan.
Menerjemahkan teks sumber untuk mikrokontroler !
Load hex-file untuk Flash dari mikrokontroler pada icon !
Jalankan osiloskop dari UNI-Train-I dan mengukur frekuensi osilasi mendasar dihasilkan.
Jalankan penganalisa spektrum dan menentukan harmonik dari osilasi mendasar.

Latihan 2
Uji sinyal gigi gergaji dengan frekuensi dasar 150Hz pada unit pengolahan sinyal 32-bit
ARM.
Dalam sawt.h file header mengubah f
0
variabel 150 dengan editor teks !
Menerjemahkan teks sumber untuk mikrokontroler .
Load file hex dibuat dalam Flash dari mikrokontroler .
Ulangi pengukuran dengan osiloskop dan spektrum analyzer dari UNI-Train-I, analog ke
Latihan 1.















Latihan: Generator Sinewave

Latihan 1
Uji resonator digital untuk frekuensi 100Hz.
File-file sine.c (berisi kontrol urutan komunikasi antara ARM dan codec), dan sine.h file (yang
berisi fungsi untuk menghasilkan sinyal), disediakan untuk menyelesaikan latihan dengan unit
pengolahan sinyal 32-bit ARM. Fungsi sinus pendek int (void) terus disebut dalam struktur dasar
dari proses komunikasi antara ARM dan codec. Perubahan k konstan memiliki efek mengubah
frekuensi dari resonator. Juga, amplitudo, amp harus ditingkatkan.
Untuk latihan ini, perangkat keras berikut ini harus dirakit pada UniTrain-I dan MCLS-modular :

Untuk mentransfer program dari PC ke unit pengolahan sinyal 32-bit ARM,
menghubungkan serial interface COM1 ke unit pengolahan sinyal 32-bit ARM.
Hubungkan analog soket A-, B-dan Ground dari UniTrain-I ke Ground analog pada unit
pengolahan sinyal 32-bit ARM.
Connect + pada UniTrain-I ke MessP3 pada unit pengolahan sinyal 32-bit ARM.
Hubungkan B + pada UniTrain-I ke MessP1 pada unit pengolahan sinyal 32-bit ARM.
Hubungkan adaptor listrik ke

MCLS-modular.
Hitung konstanta k untuk frekuensi resonator 100Hz, pada frekuensi sampel yang diberikan
dari 8 kHz, dengan pernyataan k.

Buka sine.h file dengan editor teks .
Tuliskan nilai yang dihitung untuk k di sine.h header file dan pilih nilai yang sesuai untuk
amp konstan.
Frekuensi dalam Hz Nilai untuk amp
1 0x08
100 0x800
300 0x1600
500 0x2400
700 0x3200
1300 0x6400
Menerjemahkan program dan beban yang dihasilkan hex-file ke Flash dari
mikrokontroler ARM- .
Mulai osiloskop dari UNI-Traain-I dan mengukur frekuensi yang dihasilkan.

Latihan 2
Hitung konstanta k untuk frekuensi resonator 500Hz, pada frekuensi sampel 8 kHz dan menguji
resonator pada unit pengolahan sinyal 32-bit ARM dengan osiloskop, seperti pada Latihan 1.
Hitung konstanta k untuk frekuensi resonator 500Hz, pada frekuensi sampel yang diberikan
dari 8 kHz, dengan pernyataan k!

Buka sine.h file dengan editor teks .
Tuliskan nilai yang dihitung untuk k di sine.h header file dan pilih nilai yang sesuai untuk
amp konstan.
Frekuensi dalam Hz Nilai untuk amp
1 0x08
100 0x800
300 0x1600
500 0x2400
700 0x3200
1300 0x6400
Menerjemahkan program dan beban yang dihasilkan hex-file ke Flash dari
mikrokontroler ARM- .
Mulai osiloskop dari UNI-Train-I dan mengukur frekuensi yang dihasilkan.






















Latihan: Generator Gelombang Sinyal Square

Latihan 1
Uji sinyal gelombang persegi dengan frekuensi dasar 100Hz dan dua harmonik dengan
frekuensi sampel tetap 8kHz pada unit pengolahan sinyal 32-bit ARM
File-file square.c (berisi kontrol urutan komunikasi antara ARM dan codec), dan square.h file
(yang berisi fungsi untuk menghasilkan sinyal), disediakan untuk menyelesaikan latihan dengan
unit pengolahan sinyal 32-bit ARM. Fungsi singkat int persegi (void) terus disebut dalam
struktur dasar dari proses komunikasi antara ARM dan codec.
Untuk latihan ini, perangkat keras berikut ini harus dirakit pada UniTrain-I dan MCLS-modular
-platform
zu realisieren:

Untuk mentransfer program dari PC ke unit 32-bit sinyal ARM pengolahan,
menghubungkan serial interface COM1 ke unit pengolahan sinyal 32-bit ARM.
Hubungkan analog soket A-, B-dan Ground dari UniTrain-I ke Ground analog pada unit
pengolahan sinyal 32-bit ARM.
Connect + pada UniTrain-I ke MessP3 pada unit pengolahan sinyal 32-bit ARM.
Hubungkan B + pada UniTrain-I ke MessP1 pada unit pengolahan sinyal 32-bit ARM.
Hubungkan adaptor listrik ke

MCLS-modular.
Buka square.h file dengan editor teks .
Dalam square.h file header di alun-alun fungsi int pendek (void), masukkan k koefisien
0,
k
1

dan k
2
dan menyimpan perubahan.

Koefisien Resonator frekuensi Nilai
k
0
100Hz 1.9938346
k
1
300Hz 1.9447398
k
2
500Hz 1.8477590

Menerjemahkan program dan beban yang dihasilkan hex-file untuk Flash dari
mikrokontroler .
Mulai osiloskop dari UNI-Train-I dan mengukur frekuensi yang dihasilkan.
Mulai osiloskop dari UNI-Train-I dan mengukur frekuensi osilasi mendasar dihasilkan.
Mulai penganalisa spektrum dan menentukan harmonik dari osilasi mendasar.

Latihan 2
Menghasilkan sinyal gelombang persegi dengan frekuensi dasar 300Hz dan dua harmonik
pada frekuensi sampel tetap 8 kHz.
Hitung koefisien k
0,
k
1
dan k
2
untuk resonator, menggunakan ekspresi yang diberikan.

Koefisien Resonator frekuensi Nilai
k
0
300Hz

k
1
900Hz

k
2
1500Hz

Dalam square.h file header di alun-alun fungsi int pendek (void), masukkan koefisien
dihitung k
0,
k
1
dan k
2.
Gunakan editor teks .
Menerjemahkan program dan beban yang dihasilkan hex-file ke Flash dari
mikrokontroler ARM- .
Mulai osiloskop dari UNI-Train-I dan mengukur frekuensi osilasi mendasar dihasilkan.
Mulai penganalisa spektrum dan menentukan harmonik dari osilasi mendasar.



Ujian

Bagaimana sinyal sinewave dihasilkan dalam DSP?

Dengan deret Taylor:


Dengan resonator digital:


dengan serangkaian Fourier:


Menggunakan 3 resonator digital, yang digunakan untuk menghasilkan sinyal sinewave, sinyal
gelombang persegi dengan frekuensi dasar 300 Hz dan 2 harmonik, dan tingkat sampel 8 kHz,
harus didekati pada unit 32-bit sinyal ARM pengolahan.


Resonator digital dapat matematis dihitung dengan persamaan sistem berikut:



Hitung parameter k
0
, k
1
dan k
2
dan menandai nilai-nilai berlaku untuk k
0
, k
1
dan k
2
!

k0 = 1,9447398407

k0 = 1,9615705608

k0 = 1,9965312203

k1 = 1,9161457989

k1 = 1,8162863476

k1 = 1,5208119312

k2 = 1,4525496066

k2 = 0,7653668647

k2 = 0,3901806440

Bagaimana sinyal gigi gergaji yang dihasilkan di DSP?

Menggunakan Fourier series:


Dengan menggunakan resonator digital dengan struktur sebagai berikut sampai
derajat n.



Menggunakan integrator diskrit.

Fungsi transfer integrator diskrit untuk menghasilkan sinyal gigi gergaji dengan unit pengolahan
sinyal 32-bit ARM, diberikan sebagai :

Hitung parameter b
0
untuk frekuensi output dari 500 Hz pada tingkat sampel yang diberikan dari
8 kHz dan menandai nilai yang valid.
Catatan :

b0 = 0,03125

b0 = 0,0125

b0 = 0,0625

b0 = 0,075

Anda mungkin juga menyukai