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

5. Воспроизвести с помощью звуковой платы сигнал X(t) с различными частотами дискретизации

Для этого стоит запустить файл task1_3.mон проигрывает сигналы, начиная с высоких частот и кончая частотой 2, его примерный вывод:

sounding frequency 20 (min is 10)

sounding frequency 18 (min is 10)

sounding frequency 16 (min is 10)

sounding frequency 14 (min is 10)

sounding frequency 12 (min is 10)

sounding frequency 10 (min is 10)

sounding frequency 8 (min is 10)

sounding frequency 6 (min is 10)

sounding frequency 4 (min is 10)

sounding frequency 2 (min is 10)

На высоких частотах звук низкий, по мере приближения к минимальной частоте он звучит всё выше, а когда частота проходит минимальную отметку, то он и вовсе меняется, т.е звучит совершенно по другому.

6. Загрузить тестовое изображение. Уменьшить частоту дискретизации в 2, 3, 4 раза с помощью прореживания матрицы исходного изображения. Сравнить полученные результаты с результатом использования функцииimresize

Для этого надо запустить файл task1_4.m, его вывод:

Уменьшаем в 2 раза:

Уменьшаем в 3 раза:

Уменьшаем в 4 раза:

Здесь сверху – масштабирование с использованием функции MATLABimresize, а снизу – масштабирование простым выкалыванием точек.

Разница ощутима, изображение вверху более сглажено, это потому что MATLABиспользует интерполяцию при изменений размеров картинки, если же делать “в лоб”, то результат получится не очень впечатляющим.

2. Исследование эффектов квантования

В этом пункте будут рассмотрены основные алгоритмы квантования, будет продемонстрирован принцип их работы, а также проведён сравнительный анализ методов.

Итак, по пунктам:

1. Синтезировать случайный дискретный сигнал x(k) с равномерным

распределением. Построить его график.

Для построения сигнала с равномерным распределением нужно воспользоваться функцией gen_rand_sig. Мы не будет приводить здесь результат её работы, это будет сделано в следующем пункте.

2. Провести равномерное квантование сигнала x(k) , используя от 1 до 8 бит на отсчет. Построить ступенчатые (stairsилиstem) графики сигнала после квантования

Для этого запустим task2_1.m, пример его вывода:

Здесь генерируется один случайный сигнал (с равномерным распределением) и квантуется с использованием от 1 до 8 бит на отсчёт. К примеру, мы можем видеть, что при 1 бите у нас только 2 возможных значение функции, при 2-х битах – 4е, и т. д. Само квантование выполняется функцией uquant.

3. Экспериментально определить ошибку квантования (2). Сравнить полученные результаты с теоретической оценкой (5). + 4. Вычислить SNR(3). Исследовать зависимостьSNRот числа бит, выделяемого для хранения одного отсчета сигнала

Для этого запустим task2_2.m. Результат его работы:

interval is 0:1

4 experiments in each, min step is 0.000100, max step is 0.100000

bits = 1, average error is 0.062500, theoretical is 0.750000

average snr = 8.980020

bits = 2, average error is 0.015625, theoretical is 0.187500

average snr = 15.000620

bits = 3, average error is 0.003906, theoretical is 0.046875

average snr = 21.021219

bits = 4, average error is 0.000977, theoretical is 0.011719

average snr = 27.041819

bits = 5, average error is 0.000244, theoretical is 0.002930

average snr = 33.062419

bits = 6, average error is 0.000061, theoretical is 0.000732

average snr = 39.083019

bits = 7, average error is 0.000015, theoretical is 0.000183

average snr = 45.103619

bits = 8, average error is 0.000004, theoretical is 0.000046

average snr = 51.124219

bits = 9, average error is 0.000001, theoretical is 0.000011

average snr = 57.144819

bits = 10, average error is 0.000000, theoretical is 0.000003

average snr = 63.165419

bits = 11, average error is 0.000000, theoretical is 0.000001

average snr = 69.186019

bits = 12, average error is 0.000000, theoretical is 0.000000

average snr = 75.206619

Здесь мы проводим по 4 эксперимента для каждого нового значения bitsи вычисляем средние оценки. Как видим, наша практическая ошибка имеет тот же порядок что и теоретическая. Также мы видим, чтоSNRрастёт со временем, график зависимостиSNRот к-ва используемых бит выглядит так:

Как мы видим, зависимость линейная. Теперь воспользуемся curvefittingи найдём уравнение этой прямой:

Получили прямую с углом наклона 6. Это, разумеется, приводит нас к пониманию того, какова величина вклада каждого бита в цифровое представление аналогового сигнала: он примерно соответствует 6 дБ отношения сигнал/шум.

Далее выполняем “Задание на «5»”:

1. Синтезировать два случайных дискретных сигнала: x1(k) с нормальным иx2(k) с каким-либо другим стандартным (экспоненциальным и т.д.) распределением, используя, например, функциюrandomизStatisticsToolbox. Построить их графики.

Для синтеза таких сигналов воспользуемся функциями gen_nrand_sigиgen_exprand_sig. Мы не будет приводить графики здесь, это будет сделано в следующих пунктах.

2. С помощью встроенной функции lloyds(требуетсяCommunicationsToolbox) найти пороги и уровни квантователя Ллойда-Макса для синтезированных в п. 5 сигналов + 3. Для нормального распределения провести сравнение порогов и уровней, приближенно вычисленных с помощью функции lloyds, с их точными значениями (см. приложение). Проанализировать результаты.

Для этого запустим файл task3_1.m. Он много чего выводит, но первая часть вывода – то что нужно:

lloyds and precalculated differences:

with 1 bits

levels: 0.0575

values: -0.7245 0.8394

level error: 0.057473

value error: 0.073421

with 2 bits

levels: -0.8982 0.2187 1.4107

values: -1.4922 -0.3042 0.7415 2.0798

level error: 0.429067

value error: 0.569418

with 3 bits

levels: -1.5119 -0.8669 -0.2297 0.3588 0.8788 1.4986 2.2535

values: -1.8271 -1.1967 -0.5372 0.0778 0.6399 1.1178 1.8794 2.6276

level error: 0.505619

value error: 0.535548

with 4 bits

levels: -1.8861 -1.5209 -1.1591 -0.8426 -0.5403 -0.2197 0.0963 0.4174 0.7386 1.0535 1.3719 1.6977 2.0466 2.3966 2.8050

values: -2.0631 -1.7092 -1.3327 -0.9855 -0.6997 -0.3810 -0.0585 0.2510 0.5837 0.8934 1.2137 1.5302 1.8651 2.2281 2.5651 3.0448

level error: 0.609513

value error: 0.669546

Как мы видим, пороги(далее levels) и уровни(далееvalues), генерируемые функциейLloydsпочти одинаково отличаются от соответствующих заранее вычисленных значений. По мере роста к-ва используемых бит ошибка растёт в обоих случаях.

Соседние файлы в папке 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