Скачиваний:
70
Добавлен:
16.04.2013
Размер:
333.31 Кб
Скачать

4. Выполнить оптимальное квантование сигналов x1(k) иx2(k), используя от 1 до 4 бит на отсчет. Для сигналаx1(k) использовать как вычисленные в п. 6 пороги и уровни, так и указанные в приложении

Запустим task3_1.m, этот файл также выводит нужные графики, вот пример:

Эти графики иллюстрируют оптимальное квантование с использованием функции lloyds( + заранее вычисленные значения дляx1(k)) и нашей функцииoquant.

Да, не стоит волноваться по поводу того что task3_1.mмедленно работает, это связано с тем что внутри происходит большое к-во символических вычислений, в частности вычисление оценки (6), но об этом позже.

5. Для каждого из проквантованных сигналов (всего их должно быть три: x1(k) в

0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000двух вариантах иx2(k) ) вычислить ошибки (2), (6) иSNR. + 6. Выполнить равномерное квантование сигналовx1(k) иx2(k) при числе бит на отсчет от 1 до 4. Сравнить результат с полученным в предыдущем пункте.

И вновь запускаем task3_1.m, последняя часть его вывода содержит нужную информацию:

comparison:

For x1 signal:

M error:

using uniform quantation: 1.080 0.231 0.059 0.013

using optimal quantation (lloyds): 0.439 0.154 0.040 0.010

using optimal quantation (precalc): 0.442 0.165 0.055 0.013

ThM error:

using uniform quantation: 0.906 0.227 0.057 0.014

using optimal quantation (lloyds): 0.365 0.066 0.004 0.001

using optimal quantation (precalc): 0.363 0.066 0.011 0.002

SNR:

using uniform quantation: 0.267 6.973 12.903 19.430

using optimal quantation (lloyds): 4.172 8.734 14.603 20.761

using optimal quantation (precalc): 4.150 8.415 13.171 19.341

For x2 signal:

M error:

using uniform quantation: 2.351 0.469 0.111 0.028

using optimal quantation (lloyds): 0.541 0.190 0.065 0.025

ThM error:

using uniform quantation: 1.640 0.410 0.103 0.026

using optimal quantation (lloyds): 0.375 0.106 0.023 0.010

SNR:

using uniform quantation: 0.578 7.579 13.841 19.808

using optimal quantation (lloyds): 6.959 11.504 16.145 20.321

Тут ошибки (2) - M, (6) -ThMиSNRсчитаются с помощью функций:error_m,error_dиsnrсоответственно. Особое внимание стоит уделить функцииerror_d, которая символически вычисляет ошибку (6), внутри неё вычитывается большое к-во интегралов в цикле, поэтому её выполнение может затянуться на слабых машинах. Также скрипт выводит следующие графики зависимостей:

Итак, имея таблицу и графики всех способов квантования, мы можем сделать вывод, что оптимальное квантование зовётся таким по праву, хотя и не даёт особый выигрыш (разница всего в 1 децибел в SNR). Заранее вычисленные значенияlloydsпочему-то не дают особого преимущества, разве что:

  1. Не нужно затрачивать время на вычисление levelsиvalues.

  2. Не нужно передавать levelиvaluesпо каналу связи, т.к они заранее известны (savebandwidth)

P.S: Все файлы .mи .aviв архиве, вместе с этим отчётом.

Работу выполнил: Воробьёв Станислав, МП-40.

Соседние файлы в папке lab1
  • #
    16.04.2013214 б58gen_function_name.m
  • #
    16.04.2013142 б60gen_nrand_sig.m
  • #
    16.04.201387 б63gen_rand_sig.m
  • #
    16.04.2013162 б62gen_signal.m
  • #
    16.04.2013220.58 Кб59image.png
  • #
    16.04.2013333.31 Кб70lab1.doc
  • #
    16.04.2013477 б56lloyd_data.m
  • #
    16.04.2013244 б57mat_scale.m
  • #
    16.04.2013139 б60oquant.m
  • #
    16.04.2013347 б59restore_signal.m
  • #
    16.04.201361 б58rms.m