Напишите программу кодера Хеминга для 7 разрядного информационного кода



Пусть дано число 1111111. 1 (20), 2 (21), 4 (22) 8(2^4)- получаем 4 контрольных бита.

1111          ХХ1Х111X111

Значение каждого контрольного бита зависит от значений информационного бит, но не от всех, а только от тех, которые этот контрольный бит контролирует.

Контрольный бит с номером N контролирует все послед. N бит через каждые N бит, начиная с позиции N:

 « » - те биты, которые контролирует контрольный бит, номер которого справа. Вычисление каждого контрольного бита: берём каждый контрольный бит и смотрим, сколько среди контролируемых им битов единиц, получаем некоторое целое число и, если оно чётное, то ставим 0, в противном случае 1. 

module Ham (clk, d,c);

input clk;

input [6:0] d;

output [10:0] c;

always@(posedge clk)

c[10] = d[6];

c[9] = d[5];

c[8] = d[4];

c[7] = d[1]^d[2]^d[3];

c[6] = d[3];

c[5] = d[2];

c[4] = d[1];

c[3] = d[1]^d[2]^d[3];

c[2] = d[0];

c[1] = d[0]^d[2]^d[3]^d[5]^d[6];

c[0] = d[0]^d[1]^d[3]^d[4]^d[6];

end

endmodule

 

Напишите программу декодера Хеминга для 4-х разрядного информационного кода

Пусть дано число 1111. 1 (20), 2 (21), 4 (22)- получаем 3 контрольных бита.

1111         ХХ1Х111

Вычисление контрольных бит:

1 2 3 4 5 6 7  
Х Х 1 Х 1 1 1  
              1
              2
              4

Высчитав контрольные биты, для нашего информационного слова получаем следующее: 1111111.

module Ham (clk , с, s, c2, d);

input clk;

input [6:0] c;

output [2:0] s;

output reg[6:0]c2;

output reg [3:0] d;

always@ (posedge clk)

begin

s[2] <= c[3] ^ c[4] ^ c[5] ^ c[6];

s[1] <= c[1] ^ c[2] ^ c[5] ^ c[6];

s[0] <= c[0] ^ c[2] ^ c[4] ^ c[6];

c2=c;

if (s) c2 [s-1] = ~ s[s-1]

end

always@(c2)

begin

d[0] = c2[2];

d[1] = c2[4];

d[2] = c2[5];

d[3] = c2[6];

end

endmodule

 

Напишите программу декодера Хеминга для 7-х разрядного информационного кода

Пусть дано число 1111111. 1 (20), 2 (21), 4 (22),8(2^4)- получаем 4 контрольных бита.

1111         ХХ1Х111X111

module Ham ( clk , с, s, c2, d);

input clk;

input [10:0] c;

output [3:0] s;

output reg[10:0]c2;

output reg [6:0] d;

always@ (posedge clk)

begin

s[3]<=c[7]^c[8]^c[9]^c[10];

s[2] <= c[3] ^ c[4] ^ c[5] ^ c[6];

s[1] <= c[1] ^ c[2] ^ c[5] ^ c[6]^c[9]^c[10];

s[0] <= c[0] ^ c[2] ^ c[4] ^ c[6]^c[8]^c[10];

c2=c;

if (s) c2 [s-1] = ~ s[s-1]

end

always@(c2)

begin

d[0] = c2[2];

d[1] = c2[4];

d[2] = c2[5];

d[3] = c2[6];

d[4] = c2[8];

d[5] = c2[9];

d[6] = c2[10];

end

endmodule

 

Напишите программу декодера Хеминга для 8-х разрядного информационного кода

Пусть дано число 11111111. 1 (20), 2 (21), 4 (22),8(2^4)- получаем 4 контрольных бита.

1111         ХХ1Х111X1111

module Ham (clk , с, s, c2, d);

input clk;

input [11:0] c;

output [3:0] s;

output reg[11:0]c2;

output reg [7:0] d;

always@ (posedge clk)

begin

s[3]<=c[7]^c[8]^c[9]^c[10]^c[11];

s[2] <= c[3] ^ c[4] ^ c[5] ^ c[6]^c[11];

s[1] <= c[1] ^ c[2] ^ c[5] ^ c[6]^c[9]^c[10];

s[0] <= c[0] ^ c[2] ^ c[4] ^ c[6]^c[8]^c[10];

c2=c;

if (s) c2 [s-1] = ~ s[s-1]

end

always@(c2)

begin

d[0] = c2[2];

d[1] = c2[4];

d[2] = c2[5];

d[3] = c2[6];

d[4] = c2[8];

d[5] = c2[9];

d[6] = c2[10];

d[7] = c2[11];

end

endmodule

 

Напишите программу памяти 16 разрядных двоичных кодов

module mem (clk, in, wr, reset, out);

input wr, clk;

reg [31:0] in;

reg [31:0];

mem [15:0];

integer i;

always@(posedge clk)

if (wr) begin

mem [15] [31:0]<=in;

for (i=15; i>0; i=i-1)

mem [i] [31:0] <=mem [i-1] [31:0];

end

assign out<= mem[i][31:0];

if ((-in) && reset)

out<=mem[0] [31:0];

end

endmodule

 

Приведите блок диаграмму и принцип записи и обработки звуковых сигналов на отладочной плате Nexys 4

Модуль записи и воспроизведения звуковой системы осуществляет аналого-цифровое и цифроаналоговое преобразования в режиме программной передачи звуковых данных или передачи их по каналам DMA (Direct Memory Access — канал прямого доступа к памяти).

Звук, как известно, представляет собой продольные волны, свободно распространяющиеся в воздухе или иной среде, поэтому звуковой сигнал непрерывно изменяется во времени и в про­странстве.

Запись звука — это сохранение информации о колебаниях звукового давления в момент записи. В настоящее время для записи и передачи информации о звуке используются аналоговые и цифровые сигналы. Другими словами, звуковой сигнал может быть представлен в аналоговой или цифровой форме.

Если при записи звука пользуются микрофоном, который преобразует непрерывный во времени звуковой сигнал в непрерывный во времени электрический сигнал, получают звуковой сигнал в аналоговой форме. Поскольку амплитуда звуковой волны определяет громкость звука, а ее частота — высоту звукового тона, постольку для сохранения достоверной информации о звуке напряжение электрического сигнала должно быть пропорционально звуковому давлению, а его частота должна соответствовать частоте колебаний звукового давления.

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

Аналого-цифровое преобразование представляет собой преобра­зование аналогового сигнала в цифровой и состоит из следующих основных этапов: дискретизации, квантования и кодирования.

Предварительно аналоговый звуковой сигнал поступает на аналоговый фильтр, который ограничивает полосу частот сигнала.

Дискретизация сигнала заключается в выборке отсчетов аналогового сигнала с заданной периодичностью и определя­ется частотой дискретизации. Причем частота дискретизации должна быть не менее удвоенной частоты наивысшей гармоники (частотной составляющей) исходного звукового сигнала. Поскольку человек способен слышать звуки в частотном диапазоне от 20 Гц до 20 кГц, максимальная частота дискретизации исходного зву­кового сигнала должна составлять не менее 40 кГц, т. е. отсчеты требуется проводить 40 000 раз в секунду. В связи с этим в большинстве современных звуковых систем ПК максимальная частота дискретизации звукового сигнала составляет 44,1 или 48 кГц.

Квантование по амплитуде представляет собой измерение мгновенных значений амплитуды дискретного по времени сигна­ла и преобразование его в дискретный по времени и амплитуде. На рис. 5.3 показан процесс квантования по уровню аналогового сигнала, причем мгновенные значения амплитуды кодируются 3-разрядными числами.

Кодирование заключается в преобразовании в цифровой код квантованного сигнала. При этом точность измерения при кван­товании зависит от количества разрядов кодового слова. Если зна­чения амплитуды записать с помощью двоичных чисел и задать длину кодового слова N разрядов, число возможных значений ко­довых слов будет равно 2N. Столько же может быть и уровней квантования амплитуды отсчета. Например, если значение амплитуды отсчета представляется 16-разрядным кодовым словом, максималь­ное число градаций амплитуды (уровней квантования) составит 216= 65 536. Для 8-разрядного представления соответственно полу­чим 28=256 градаций амплитуды.

Аналого-цифровое преобразование осуществляется специаль­ным электронным устройством — аналого-цифровым преобразова­телем (АЦП), в котором дискретные отсчеты сигнала преобразу­ются в последовательность чисел. Полученный поток цифровых данных, т.е. сигнал, включает как полезные, так и нежелатель­ные высокочастотные помехи, для фильтрации которых получен­ные цифровые данные пропускаются через цифровой фильтр.

Цифроаналоговое преобразование в общем случае происходит в два этапа, как показано на рис. 5.4. На первом этапе из потока цифровых данных с помощью цифроаналогового преобразователя (ЦАП) выделяют отсчеты сигнала, следующие с частотой диск­ретизации. На втором этапе из дискретных отсчетов путем сглажи­вания (интерполяции) формируется непрерывный аналоговый сиг­нал с помощью фильтра низкой частоты, который подавляет пе­риодические составляющие спектра дискретного сигнала.

Для записи и хранения звукового сигнала в цифровой форме требуется большой объем дискового пространства. Например, сте­реофонический звуковой сигнал длительностью 60 с, оцифрован­ный с частотой дискретизации 44,1 кГц при 16-разрядном кван­товании для хранения требует на винчестере около 10 Мбайт.

Для уменьшения объема цифровых данных, необходимых для представления звукового сигнала с заданным качеством, исполь­зуют компрессию (сжатие), заключающуюся в уменьшении количества отсчетов и уровней квантования или числа бит, при-I холящихся на один отсчет.

Подобные методы кодирования звуковых данных с использо­ванием специальных кодирующих устройств позволяют сократить объем потока информации почти до 20 % первоначального. Выбор метода кодирования при записи аудиоинформации зависит от набора программ сжатия — кодеков (кодирование-декодиро­вание), поставляемых вместе с программным обеспечением зву­ковой карты или входящих в состав операционной системы.

Выполняя функции аналого-цифрового и цифроаналогового преобразований сигнала, модуль записи и воспроизведения циф­рового звука содержит АЦП, ЦАП и блок управления, которые обычно интегрированы в одну микросхему, также называемую кодеком. Основными характеристиками этого модуля являют­ся: частота дискретизации; тип и разрядность АЦП и ЦАП; спо­соб кодирования аудиоданных; возможность работы в режиме Full Duplex.

Частота дискретизации определяет максимальную час­тоту записываемого или воспроизводимого сигнала. Для записи и воспроизведения человеческой речи достаточно 6 — 8 кГц; му­зыки с невысоким качеством — 20 — 25 кГц; для обеспечения высококачественного звучания (аудиокомпакт-диска) частота дискретизации должна быть не менее 44 кГц. Практически все звуковые карты поддерживают запись и воспроизведение стерео­фонического звукового сигнала с частотой дискретизации 44,1 или 48 кГц.

 


Дата добавления: 2018-06-01; просмотров: 637; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!