Loyiha ishi mavzu: Audio fayllarga ma'lumotlarni yashiruvchi steganografik dasturiy vositani yaratish python imkonyatlaridan foydalanib ishlab chiqish. Bajardi: Ergashev Zamonjon. Guruhi: Qabul qildi: Samarqand-2023


-rasm: Максфий хабарни яширишнинг Асосий Боскичлари (мисол)


Download 429.85 Kb.
bet5/8
Sana07.03.2023
Hajmi429.85 Kb.
#1247788
1   2   3   4   5   6   7   8
Bog'liq
Ergashev Zamon

4-rasm: Максфий хабарни яширишнинг Асосий Боскичлари (мисол)
E'tibor bering , dastur faqat siqilmagan .wav fayllarini to'g'ridan-to'g'ri o'qiydi va yozadi. Siqilgan audio fayllarga oraliq konvertatsiya qilish ffmpeg tashqi vositasi yordamida amalga oshiriladi .
Agar siz tanqidiy nuqtai nazarga ega bo'lsangiz, bu kabi sinash va xato yoki qo'pol kuch ishlatish yomon deb bahslashishingiz mumkin.
Ammo o'ylab ko'ring, mashinani o'rganish va sun'iy intellekt, shuningdek, ko'plab algoritmlar xuddi shunday ishlaydi. Bu, masalan, modellarni o'qitish uchun cho'zilgan ishlov berish vaqtiga ham tegishli.
Kodning joriy versiyasi va turli xil variantlar uchun tavsiya etilgan standart sozlamalar qisman bir nechta sinovlar va kelishuvlar natijasidir.
Misol uchun, blok ichida qancha namuna bo'lishi kerakligini tanlayotganda, biz blokdagi namunalar qanchalik ko'p bo'lsa, biz kodlashimiz kerak bo'lgan bloklar kamroq, lekin har bir blokda qanchalik ko'p chastotalarni kodlashimiz mumkinligini hisobga olishimiz kerak.
Баннинг тескариси хам то'г'ри."Optimal" qiymat, shuningdek, kodlash tomonidan kiritilgan "shovqin" miqdoriga va kodlash uchun tanlangan chastota diapazoniga bog'liq bo'lishi mumkin.
Quyidagi parametrlar hozirda standart qiymatlar bilan oʻrnatilgan:

  • chunk_len_samples = 480

  • interleaved_chunks = 2# interpolyatsiya uchun zarur > 1

  • interleaved_fc = 2# kodlar orasidagi shovqinni oldini olish uchun > 1

  • code_frequency_start_bin = 120# fc0 = 120000 Gts

  • code_frequency_end_bin = 179# fcN = 17900 Gc

Muayyan chastota komponentlarining kattaligi qanday kodlanganligini tushunish uchun biz uning haqiqiy va xayoliy qismdan iborat ekanligini unutmasligimiz kerak.
Shuning uchun, FFT ning mutlaq qiymatini ma'lum bir chastotada kodlash uchun biz haqiqiy (Re) va xayoliy (Im) qismlarni oldindan belgilangan omilga ko'paytirish orqali o'zgartiramiz.
Koeffitsient - bu chastotadagi dastlabki qiymatga "nisbiy" qiymat.
ONE ni kodlash uchun biz ko'paytiramizCODE_FACTOR_PERCENT_MINUS, ко'пайтиришCODE_FACTOR_PERCENT_PLUSНулевые кодлайди.
Bu erda kodlash chastotasi bilan UNITS kodlash misoli keltirilganfcбо'лакдаi:
code_sig3_chunk_FFT[i][CODE_FREQUENCY_START_BIN + fc] =
interpolatedFFTn_real*CODE_FACTOR_PERCENT_MINUS +
1j* interpolatedFFTn_imag*CODE_FACTOR_PERCENT_MINUS
Malumot FFT ning haqiqiy va xayoliy qismlari interpolyatsiya qilingan qiymatga olib kelishi mumkinligi sababli, bu joydagi asl qiymatdan farqli belgiga ega bo'lishi mumkin, biz buzilishni kamaytirish uchun kodlashda uning belgisini hisobga olamiz, masalan:
interpolatedFFTn_imag = abs(code_sig3_chunk_FFT_n[i - 1, fc].imag +
diffFFT_n_imag / 2.0) * np.sign(code_sig3_chunk_FFT_n[i, fc].imag)
Ushbu hiyla bilan kodning haqiqiy yoki xayoliy qismi ijobiy yoki salbiy bo'ladimi, mutlaq qiymat (modul) to'g'ri qiymatga ega bo'lsa, muhim bo'lmaydi.
Mana bir misol:


Download 429.85 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling