Prinsip Kerja Modem FSK Perancangan Perangkat Lunak Perancangan Flowchart Memanggil library systemC

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