Генератор акустического шума


Главная / ЭКВМ / Программы для ЭКВМ / Прикладные задачи

Генераторы акустического шума предназначены для защиты речевой информации путём создания в зоне действия генератора шумовой помехи в акустическом диапазоне частот, что создаёт препятствия в работе систем перехвата.

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

Клавишные ЭВМ "Электроника МК" можно использовать в качестве одноканального генератора шума. Для увеличения мощности выходного сигнала можно присоединить выход звукового сигнала ЭКВМ к внешнему усилителю звуковой частоты и громкоговорителю. Это позволит значительно увеличить зону покрытия.

Звуковой сигнал ЭКВМ имеет форму меандра, поэтому уже включает в себя гармоники. Но основная частота в каждый момент будет вполне определённой и переключать её чаще, чем один раз за 0,01 сек, ЭКВМ не может.

Использование одновременно нескольких ЭКВМ существенно улучшает характеристики шума. На внешний звуковой усилитель сигналы от нескольких ЭКВМ можно подавать через схему согласования или специальное устройство: смеситель (микшер), часто объединяемый с эквалайзером.

Кроме выхода звукового сигнала с одной ЭКВМ можно получить и другие сигналы в области звуковых частот, если использовать выходы параллельного и последовательного портов. Параллельный порт, запрограммированный в статическом режиме, позволяет управлять отдельными сигналами порта, что позволит создать качественный шум в области низких частот. Выход последовательного порта, запрограммированный на скорость передачи от 1200, 2400 или 4800 бит/с, через который посылается случайная информация позволит создать шум в области звуковых частот.




Программа Шум

Программа, приведённая ниже, использует только штатный звуковой канал ЭКВМ и обеспечивает генерацию частот в диапазоне от 300 до 3500 Гц. Частота и длительность выбираются случайным образом, что в среднем обеспечивает равномерное распределение, близкое к белому шуму. Издаваемые программой звуки напоминают речь дроида R2-D2 из к/ф "Звёздные войны".

Файлы программы Шум версии 1.0:
- исходный текст: shum.mkl (206 байт);
- программа MK: shum.mkp (201 байт).

В таблице 1 приведена программа на языке МК, длина 26 байт. Для изменения диапазона генерируемых частот следует изменить числа, записанные в адресах 01-04 и 06-08. Для изменения максимальной длительности звука одной частоты - число в адресах 12-13.

Текст программы Шум на языке МК

Таблица 1

  0 1 2 3 4 5 6 7 8 9
00 K СЧ 3 2 0 0 × 3 0 0 +
10 K СЧ 1 0 × 1 + PP П 90 52 PP ИП
20 90 52 F x=0 19 БП 00        

Контрольная сумма ADD 20208, XOR 22, при условии, что остальные байты страницы содержат 0FFh.

Описание программы Шум

00-09 - выработка нового значения частоты;

10-15 - выработка нового значения продолжительности;

16-18 - обращение к функции вывода звукового сигнала;

19-23 - ожидание окончания звукового сигнала;

24-25 - переход на 00 для начала нового сигнала;

Исходный текст программы Шум для компилятора

.CHARSET 1251
.OPT 0
; Шум. Программа генератора акустических помех
; Белый шум
A0:	K RAN
	3200
	*
	300
	+
	K RAN
	10
	*
	1
	+
	PP M 9052
A1:	PP RM 9052
	F X=0 A1
	GOTO A0



Программа Шум-0

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

Файлы программы Шум-0 версии 1.0:
- исходный текст: shum0.mkl (603 байта);
- программа MK: shum0.mkp (201 байт).

В таблице 2 приведена программа на языке МК, длина 62 байта. Для изменения диапазона генерируемых частот следует изменить числа, записанные в адресах 34-37 и 39-41. Для изменения максимальной длительности звука одной частоты - число в адресах 04-05.

Текст программы Шум-0 на языке МК

Таблица 2

  0 1 2 3 4 5 6 7 8 9
00 Cx 5 0 П A 1 0 П B П D 1 PP П
10 91 48 5 8 B↑ 1 PP П 91 31 PP П
20 91 52 PP П 91 30 ИП A ИП B PP П 90 52
30 1 P П 20 K СЧ 3 2 0 0 × 3
40 0 0 + K [x] П A K СЧ ИП D × 1 +
50 K [x] П B P ИП 20 F x=0 52 БП 25 Cx P П
60 20 PP В/О                

Контрольная сумма ADD 13926, XOR 204, при условии, что остальные байты страницы содержат 0FFh.

Описание программы Шум-0

00-07 - начальная инициализация регистров;

08-24 - установка прерывания по окончании звукового сигнала;

25-29 - обращение к функции вывода звукового сигнала;

30-32 - установка флага начала сигнала в R20;

33-44 - выработка и запись нового значения частоты в RA;

45-51 - выработка и запись нового значения продолжительности в RB;

52-55 - ожидание окончания звукового сигнала;

56-57 - переход на 25 для начала нового сигнала;

58-61 - прерывание, сброс флага в R20.

Исходный текст программы Шум-0 для компилятора

.CHARSET 1251
.OPT 0

; Шум-0. Программа генератора акустических помех
; Белый шум
; Версия 1.0

; R20 - флаг готовности случайных данных и окончания генерации
; RD - максимальная длительность
 

	CX
	50
	MA
	10
	MB
	MD

	; Установка прерывания
	1 
	PP M 9148	; Сброс прерываний
	.NUML ZVUK
	ENT
	1
	PP M 9131
	PP M 9152	; Окончание звукового сигнала
	PP M 9130	; Разрешение прерываний
	
A1:	RMA
	RMB
	PP M 9052
	1
	P M 20
	K RAN
	3200
	*
	300
	+
	K INT
	MA
	K RAN
	RMD
	*
	1
	+
	K INT
	MB
A2:	P RM 20
	F X=0 A2
	GOTO A1
ZVUK:	CX
	P M 20
	PP RTN
.END



Программа Шум-1

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

Файлы программы Шум-1 версии 1.1:
- исходный текст: shum1.mkl (713 байта);
- программа MK: shum1.mkp (201 байт).

В таблице 3 размещена программа на языке МК, длина программы 81 байт. Для изменения диапазона частот следует заменить числа по адресам 45-47 и 52-55. Содержимое регистра RC отвечает за величину изменения частоты, содержимое регистра RD за максимальную продолжительность генерации сигнала на одной частоте. Значения RC и RD задаются в адресах 01-08.

Текст программы Шум-1 на языке МК

Таблица 3

  0 1 2 3 4 5 6 7 8 9
00 Cx 5 0 П A П C 2 0 П B П D 1
10 PP П 91 48 7 7 B↑ 1 PP П 91 31
20 PP П 91 52 PP П 91 30 ИП A ИП B PP П 90
30 52 1 P П 20 K СЧ 2 × 1 - ИП C
40 × K [x] ИП A + П A 3 0 0 - F x≥0
50 59 ИП A 3 5 0 0 - F x≥0 64 1
60 5 0 0 П A K СЧ ИП D × 1 + K [x]
70 П B P ИП 20 F x=0 71 БП 26 Cx P П 20
80 PP В/О                  

Контрольная сумма ADD 10033, XOR 73, при условии, что остальные байты страницы содержат 0FFh.

Описание программы Шум-1

00-08 - начальная инициализация регистров;

09-25 - установка прерывания по окончании звукового сигнала;

26-30 - обращение к функции вывода звукового сигнала;

31-33 - установка флага начала сигнала в R20;

34-63 - выработка и запись нового значения частоты в RA;

64-70 - выработка и запись нового значения продолжительности в RB;

71-74 - ожидание окончания звукового сигнала;

75-76 - переход на 26 для начала нового сигнала;

77-81 - прерывание, сброс флага в R20.

Исходный текст программы Шум-1 для компилятора

.CHARSET 1251
.OPT 0

; Шум-1. Программа генератора акустических помех
; Версия 1.1

; R20 - флаг готовности случайных данных и окончания генерации
; RC - сдвиг частоты за шаг, Гц
; RD - максимальная длительность
 

	CX
	50
	MA
	MC
	20
	MB
	MD

	; Установка прерывания
	1 
	PP M 9148	; Сброс прерываний
	.NUML ZVUK
	ENT
	1
	PP M 9131
	PP M 9152	; Окончание звукового сигнала
	PP M 9130	; Разрешение прерываний
	
A1:	RMA
	RMB
	PP M 9052
	1
	P M 20
	K RAN
	2
	*
	1
	-
	RMC
	*
	K INT
	RMA
	+
	MA
	300
	-
	F X>=0 A2
	RMA
	3500
	-
	F X>=0 A3	
A2:	1500
	MA
A3:	K RAN
	RMD
	*
	1
	+
	K INT
	MB
A4:	P RM 20
	F X=0 A4
	GOTO A1
ZVUK:	CX
	P M 20
	PP RTN
.END


НПП "СЕМИКО" (383) 271-01-25 (многоканальный)