Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Расщифровка DTMF сигнала. Распознавание нажатых телефоных клавишь 
:(
    Опции темы
xwx
Дата 27.5.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



Здравствуйте может кто с таким сталкивался нужна прога для распознование DFMF сигнала тоесть когда я подключаю телефон к аудио входу комьпьютера и на удаленной трубке нажымаю на какие-то клавишы прога бы их понимала...У меня имеются пару примеров но они несовсем рабочии...
PM MAIL   Вверх
xwx
Дата 29.5.2008, 10:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 8
Регистрация: 27.5.2008

Репутация: нет
Всего: нет



Вот кстати код для расшифровки DTMF сигнала трудно ли его переписать на C#?

Код

function digitstr = dtmfd(encstr)
% This function translates the encoded tones to corresponding
% keys/key that are pressed.
% Example digitstr = dtmfd(vec)
% Where vec is the vector that contains the encoded tones
%
% Shiladitya Sircar 2002
% DSP Course Project
global dtmf_rfreq
global dtmf_cfreq
global dtmf_fs
global dtmf_silencelen
global dtmf_tonelen
global dtmf_key
% Can use the setparameter function in order to just evaluate this function
% to do this just un-comment the setparameter. This script will set up the global
%variable required to execute dtmf encoding.
%setparameter;
% Length of Band Pass Filter
% If the bandpass is too wide, this can be increased to produce a more narrow filter
% for finer precision. However computation time increases a value L = 64 gives
% satisfactory results for no noise environment
L = 64;
filt_n = 0:L-1;
dtmf_digilen = length(encstr)/(dtmf_tonelen+dtmf_silencelen);
for deco_seq = 1:dtmf_digilen
% Loop through each row and Check if the row-i frequency exist in the signal
% Define the pointer at start of the sequence
startpos = (deco_seq - 1)*(dtmf_tonelen + dtmf_silencelen) + 1;
endpos = startpos + dtmf_tonelen - 1;
encstr_frag = encstr(startpos:endpos);
for i = 1:4
% Calculate filter coefficients for the bandpass filter for row frequencies
% given the center frequency
hh = 2/L*cos(2*pi*dtmf_rfreq(i)*filt_n/dtmf_fs);
ss = mean(conv(encstr_frag,hh).^2) > mean(encstr_frag.^2)/5;% compare mean amplitude and if
% more than 20% ( /5 ), the frequency
% component is considered to be strong
if (ss)
row = i;
break % we already have our row - no need to check the rest
end
end
% Loop through each column and check if the column-i frequency exist in the signal
for i = 1:4
% Calculate filter coefficients for the bandpass filter for column frequencies
% given the center frequency
hh = 2/L*cos(2*pi*dtmf_cfreq(i)*filt_n/dtmf_fs);
ss = mean(conv(encstr_frag,hh).^2) > mean(encstr_frag.^2)/5;
if (ss)
col = i;
9
break % we already have our column - no need to check the rest
end
end
numstr(1,deco_seq) = dtmf_key(row,col);
end
digitstr = numstr;


Это сообщение отредактировал(а) xwx - 29.5.2008, 10:38
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.