BAB IV PERANCANGAN DAN PRINSIP KERJA
4.1 Prinsip Kerja Modem FSK
Berdasarkan modul telah dijelaskan sebelumnya merupakan pemancar- Receiver FSK System . Pertama, data pengujian yang dihasilkan oleh generator tes
dan diteruskan ke pemancar. Modul rand_bool digunakan uji generator data dan serial universal didistribusikan bit acak yang dihasilkan. pemancar mengambil
sinyal-sinyal biner dan memodulasi yang bit untuk sinyal FSK frekuensi tinggi menggunakan Frekuensi Shift Keying Modulasi.
Gambar 4.1 merupakan tingkat Top blok diagram Transmitter FSK dan Receiver dan menunjukkan diagram blok fungsional sistem FSK Transmitter dan Receiver.
Gambar 4.1 Blok Diagram Top Level FSK
4.2 Perancangan Perangkat Lunak
Sebelum mendesain dan menerapkan suatu algoritma kedalam bahasa pemograman, perancangan merupakan langkah awal dalam proses pembuatan
perangkat lunak. Algoritma diaplikasikan ke dalam bahasa pemrograman Visual Studio C++ dengan spesifikasi perangkat lunak sebagai berikut:
1. SystemC-2.2.0
2. Systemc-ams-1.0BETA1
3. Visual C++ 2005
4. Matlab 7
Universitas Sumatera Utara
4.3 Perancangan Flowchart
Berikut Gambar 4.2 Flowchart FSK.
Gambar 4.2 Flowchart
4.4 Memanggil library systemC
mcc -B csharedlib:libsystemC systemc.h mcc -B csharedlib:libsystemC systemc-ams.h
mcc -B csharedlib:libsystemC tuv_ams_library.h
Universitas Sumatera Utara
Gambaran secara umum proses yang terjadi dalam modulator demodulator FSK pada SystemC adalah bahwa FSK FSK Modulator modul seperti yang
dijelaskan dalam Bagian sebelumnya digunakan untuk model pemancar. Sinyal yang dihasilkan kemudian dilewatkan melalui saluran Dimodelkan menggunakan modul
udara yang melemahkan sinyal input dan menambah kebisingan.
Setelah itu sinyal diambil oleh penerima dan diterjemahkan kembali menjadi aliran biner bit. Dalam rangka untuk model sistem komunikasi menggunakan modul di
perpustakaan pengguna memiliki untuk memasukkan data masing-masing header dan mengatur hak namespace pertama:
include directory of the librarylib_v_01_11TUV-AMS- LIBRARY.h
using namespace TUV_ams_lib::bb; Kemudian modul diharapkan dari perpustakaan harus instantiated dengan cara
berikut: rand_bool binary_source stimuli, rate;
Dimana rand_bool adalah nama modul, binary_source adalah nama instance dari modul, stimulus dan rate adalah tingkat data output modul. Maka
SystemC AMS TDF sinyal harus dinyatakan dapat terhubung modul yang berbeda: sca_tdf::sca_signalbool binary_data_tx;
binary_source.out binary_data_tx; Berikut sinyal yang disebut binary_data_tx dinyatakan dan terhubung ke
port keluar dari modul binary_source. Terlepas dari isu yang disebutkan di atas pengguna telah mengatur resolusi saat simulasi dengan menggunakan metode standar
sc_set_time_resolution . Hal ini juga diperlukan untuk mengatur laju sampling pada setidaknya satu port dari sistem dimodelkan dengan metode Set_T. Bagian
Setelah kode menggambarkan Sistem, yang disebutkan di atas.
Universitas Sumatera Utara
int sc_mainint argc, char argv[] {
sc_set_time_resolution1, SC_PS;
defining signals and parameters sca_tdf::sca_signalbool binary_data_tx;
sca_tdf::sca_signaldouble modulated_data_tx; sca_tdf::sca_signaldouble modulated_data_noisy_tx;
sca_tdf::sca_signalbool binary_data_rx;
double freq; int rate;
setting parameters for simulation cout \n frequency= ; cin freq;
cout \n; cout sample rate =; cin rate;
cout \n; instantiating SDF-modules
rand_bool binary_sourcestimuli,rate; binary_source.outbinary_data_tx;
binary_source.out.set_timestep0.1,SC_MS;
FSK FSK_trFSK_tr,freq, rate; FSK_tr.inbinary_data_tx;
Universitas Sumatera Utara
FSK_tr.outmodulated_data_tx; air channelair,0.4,gauss_white,1,0,rate;
channel.inmodulated_data_tx; channel.outmodulated_data_noisy_tx;
FSK_de FSK_rxFSK_rx,freq,rate; FSK_rx.inmodulated_data_noisy_tx;
FSK_rx.outbinary_data_rx; drain drndrn;
drn.inbinary_data_rx;
tracing of signals sca_util::sca_trace_file atf =
sca_util::sca_create_vcd_trace_file tr ; sca_util::sca_trace atf, binary_data_tx ,binary_data_tx ;
sca_util::sca_trace atf, modulated_data_tx ,modulated_data_tx ; sca_util::sca_trace
atf, modulated_data_noisy_tx
,modulated_data_noisy_tx ; sca_util::sca_trace atf, binary_data_rx,binary_data_rx ;
sc_start20, SC_MS; sca_util::sca_close_vcd_trace_file atf ;
return 0; }
Bahasa program berikut menunjukkan cara menggunakan modul blok Gambar 4.4 untuk menghasilkan FSK yang pemancar modul sebagai berikut:
Universitas Sumatera Utara
FSK modulator
SC_MODULEFSK { sca_tdf::sca_inbool in;
sca_tdf::sca_outdouble out; signal for connecting sub
module
private:
sca_tdf::sca_signalbool sig_i; sca_tdf::sca_signalbool sig_q;
sca_tdf::sca_signaldouble sig_n_i; sca_tdf::sca_signaldouble sig_n_q;
declare sub module s2pbool,2 s2p_sub;
nrz nrz_i_sub; nrz nrz_q_sub;
q_mixer_tr mixer_sub; public:
FSKsc_core::sc_module_name n, double _freq, int rate; };
Universitas Sumatera Utara
r FSK::FSKsc_core::sc_module_name n, double _freq, int rate
{ s2p_sub = new s2pbool,2i_s2p,1;
s2p_sub-inin; s2p_sub-out[0]sig_i;
s2p_sub-out[1]sig_q; nrz_i_sub = new nrzi_sub,1.0;
nrz_i_sub-insig_i; nrz_i_sub-outsig_n_i;
nrz_q_sub = new nrzq_sub,1.0; nrz_q_sub-insig_q;
nrz_q_sub-outsig_n_q; mixer_sub = new q_mixer_tri_mix,_freq,1.0,rate,false;
mixer_sub - i_insig_n_i; mixer_sub - q_insig_n_q;
mixer_sub - outout; }
Seperti yang ditunjukkan dari kode sumber pemodelan suatu pemancar FSK cukup mudah bila menggunakan modul yang ada di perpustakaan.
4.5 Menggambar grafik