1. Tasodifiy va deteminallashgan signallarga misollar keltiring
Download 187.14 Kb.
|
mardonov-shaxzod-425-18
- Bu sahifa navigatsiya:
- 2.Kotelnikov teoremasi .
- 3.Python dasturlash tilida turli uzunlikdagi signal generasiya qiling. Hamda turli kvantlash qadamini ornatib signalni hosil qiling.
- time vector
- Plot figures
- change plot viye
Savollar. 1. Tasodifiy va deteminallashgan signallarga misollar keltiring. 2.Kotelnikov teoremasining mazmun mohiyatini tushuntiring. 3.Python dasturlash tilida turli uzunlikdagi signal generasiya qiling. Hamda turli kvantlash qadamini ornatib signalni hosil qiling. Javoblar 1. Tasodifiy va deteminallashgan signallarga misollar keltiring Signal axborotning material tashuvchisidir. Taqdim etish usuliga kora signallar ikki guruhga bolinadi tasodifiy va deterministik. Ular matematik model yoki signal parametrlarining ozgarishini tavsiflovchi funksiya bilan xarakterlanadi. Tasodifiy signal vaqt funksiyasidir, uning qiymatlari oldindan nomalum va faqat malum ehtimol bilan taxmin qilish mumkin. Tasodifiy signallarning asosiy xususiyatlari qoyidagilardir: taqsimlash qonuni(malum intervalda signal qiymatining kirib kelish nisbiy vaqti ),Quvvatni spektral taqsimlash. Deterministik signallar analitik funksiya (analitik aniqlangan) bilan tasvirlanadi va ularning xatti-harakati har qanday vaqtda toliq malum boladi. Deterministik signallar, oz navbatida 2 ta davriy va davriy bolmagan korinishda boladi Davriy bolmagan signallari odatda, vaqt ichida cheklangan. Davriy signal - bu malum davr bilan vaqt otishi bilan takrorlanadigan signal hisoblanadi, yani qoyidagi shart bajariladi: s(t)=s(t+kT),bu yerda k istalgan butun son, T takrorlanish davri. Davriy signalga misol sifatida qoyidagi ifoda bilan tasvirlanadigan garmonik tebranishni keltirish mumkin: bunda A Tebranish amplitudasi, φ – boshlang‘ich faza. Ma’lumki, har qanday murakkab davriy signal asosiy chastota ω = 2π/T ga kupaytirilganda chastotalar bilan garmonik tebranishlar yig‘indisi sifatida ifodalanishi mumkin.
Analogli signalni buzilishsiz yoki yoqotishsiz tiklash uchun Kotelnikov (Nyquist-Shannon) teoremasidan foydalaniladi. Yani cheklangan spektrli har qanday uzluksiz signal uzluksiz signal spektrining yuqori chastotasidan ikki barobar yuqori chastota bilan olingan diskret namunalaridan bemalol qayta tiklanishi mumkin. Kotelnikov teoremasining formulasi quyidagichadir: Bunda:
Fs signalning diskretlash chastotasi,Fa analog signalning yuqori spektr chastotasi. Ushbu tarif noldan Fa gacha bolgan chastotalardan iborat vaqt funksiyalariga tegishli. Radiotexnikada real muammolarda signal spektri har qanday chastota oraligida yotishi va har qanday chastotada ishga tushishi va tugashi mumkin. Shu munosabat bilan Kotelnikov teoremasining tarifi bunday signalning spektr kengligiga nisbatan togri hisoblanadi: Cheklangan spektrga ega bolgan har qanday uzluksiz signal uzluksiz signal spektri bilan egallagan chastotadan ikki marta yuqori chastota bilan olingan diskret namunalaridan aniq va yoqotishsiz tiklanishi mumkin. bunda - uzluksiz signal spektrining kengligi. Kvantlangan signallar uzluksiz yoki diskret miqdorlar qatoridan qator oxirgi qiymatlarni oladi. Odatda, signallar sathga, yani amplitudaga kora kvantlanadi. 3.Python dasturlash tilida turli uzunlikdagi signal generasiya qiling. Hamda turli kvantlash qadamini ornatib signalni hosil qiling. Quyida keltirilgan misolda signalni analogli, raqamli va kvanlangan formasini ko‘rishimiz mumkin. 1-qadam. Vaqtli qator qiymatlarini yaratish: np.linspacye(start, stop, num) funksiya [start, stop] diapazonida vektor qiymatlarini yaratadi, num argumenti esa diapazondagi nuqtalar sonini beradi. 2-qadam. Tasodifiy formadagi signalni yaratish: np.sin() funksiyasi yordamida garmonik tuplamdagi ta’sir asosida signalni yaratamiz. Oddiylik uchun barcha komponentlarning amplitudalari 1 ga teng va faza bosqichi nolga teng qilib olingan. 3-qadam. Grafikni chizish. Matplotlib usullari signalni turli stillarda ifodalashga yordam beradi. plot() – standart grafik bo‘lib, signalni analog formada chiqaradi, stem() – signal otschetlari ko‘rinishidagi grafik hisoblanadi va signalni diskret formada chiqaradi, step() – daraja ko‘rinishdagi grafik, signalni kvantlangan formada chiqaradi Dastur kodini kamaytirish maqsadida yordamchi plt_sel(s, *args, **kwargs), funksiya yaratilgan bo‘lib, grafikni ifodalash stilini tanlab beradi. kotoraya vыbirayet stil otobrajeniya grafika. Funksiyadagi *args argument ordinata o‘qi bo‘yicha qiymatlarni uzatadi va **kwargs argumenti absissa o‘qi bo‘yicha qiymatlarni o‘zatadi. n = 40
# time vector t = np.linspacye(0, 1, n, endpoint=Truye) x = np.sin(np.pi*t) + np.sin(2*np.pi*t) + np.sin(3*np.pi*t) + np.sin(5*np.pi*t) # Select: plot, stem, bar def plt_sel(s, *args, **kwargs): if s == 0: return plt.plot(*args) if s == 1: return plt.stem(*args, **kwargs) if s == 2: return plt.step(*args) # Subplot titles t_titles = [’Analogli’, ’Diskretli’, ’Kvantlangan’] # Plot figures fig = plt.figure(figsize=(16, 4), dpi=80) for i in range(3): plt.subplot(1, 3, i+1) plt.title(t_titles[i]) plt_sel(i, t, x, use_line_collection=Truye) plt.xlim([0, 1]) plt.yticks(np.linspacye(np.floor(np.min(x)), np.cyeil(np.max(x)), 9) plt.grid(Truye)
ax = plt.gca() ax.spines[’right’].set_color(’none’ ax.spines[’top’].set_color(’none’) ax.spines[’bottom’].set_position((’data’,0)) plt.tight_layout() Kvantlash va namuna olish qadamlari noto‘g‘ri tanlansa, signalni analogdan diskret shaklga o‘tkazish buzilish bilan sodir bo‘ladi. Namuna olish qadami va kvantlash qadami noto‘g‘ri tanlanishga misol ko‘rib o‘tamiz. Sinus grafigini o‘rnatish. Signa uzunligi n = 64 namunalar bo‘lib, unga garmonik signalning bir davri qo‘yiladi. Kvantlash qadami shunday belgilansinki, bizda d = 3, 5, 8, va 32 ta qiymatlar bo‘lsin.
t = np.linspacye(0, 1, n, endpoint=Truye) # sine wave ds = np.sin(2*np.pi*t # discrete step step_lst = np.array([3, 5, 8, 32]) #plot figure fig = plt.figure(figsize=(12, 6), dpi=80) for i in range(4): tt = np.linspacye(0, 1, step_lst[i], endpoint=Truye) plt.subplot(2, 2, i+1) plt.title(Nuqtalar soni = {}’.format(step_lst[i])) plt.plot(t, ds, ’-’, linewidth=2.0) plt.plot(tt, np.sin(2*np.pi*tt), ’--o‘, linewidth=1.5, markersize=8) plt.step(tt, np.sin(2*np.pi*tt), linewidth=1.5) plt.grid() plt.xlim([0, 1]) plt.tight_layout() Download 187.14 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling