Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » помогите с Matlab

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Открыть новую тему     Написать ответ в эту тему

MorSe

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raskolbasss

Цитата:
Но так как там изменение фазы не существенно влияет

Вообще-то, неверное утверждение, зависит от закона изменения фазы.

Всего записей: 8886 | Зарегистр. 29-09-2002 | Отправлено: 23:47 28-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raskolbasss
Подробнее...
 
 
crays
А в чём проблема?
lagrange.m
Вот только переменные i и j лучше поменять на какие-нибудь другие буквы - ну не любит их матлаб Но это уже претензии к составителям блок-схемы - пусть сами с матлабом сначала разберуться, прежде чем задания выдавать...

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 00:06 29-03-2012 | Исправлено: dimitriy7, 00:41 29-03-2012
Raskolbasss

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
стало чутку понятнее. а какой выход есть? сначала "родить" офицровку аналогового сигнала?  
 
Morse, окей, согласен.. подскажи, где взять мне запись\сигнал, в котором изменение фазы повлияет на звучание?(повлияет всмысле на слух, в пересчете на СНР по-любому изменение увижу)

Всего записей: 24 | Зарегистр. 10-03-2012 | Отправлено: 19:51 30-03-2012 | Исправлено: Raskolbasss, 19:54 30-03-2012
MorSe

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Raskolbasss

Цитата:
Morse, окей, согласен.. подскажи, где взять мне запись\сигнал, в котором изменение фазы повлияет на звучание?

Причём тут запись? Надо фильтр соответствующий построить. Предлагаю смотреть в сторону групповой задержки. Чем плох фильтр с линейной ФЧХ - тем, что у него гр. задержка постоянна для всех частот. Поэтому применив линейный фильтр да ещё с единичной АЧХ, на слух сигнал не изменится. Если же гр. задержка будет зависеть от частоты, то это означает, что различные частотные составляющие сигнала получат различные сдвиги во времени. Чтобы было заметнее на отфильтрованном сигнале, фильтр берём подлиньше .  

Всего записей: 8886 | Зарегистр. 29-09-2002 | Отправлено: 20:37 30-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MorSe
То есть предлагаешь вот здесь:
Подробнее...
строчку

Код:
phase2=phase+pi;

заменить на что-то вроде

Код:
phase2=phase.*pi.*freq.'./sr;

?

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 22:47 30-03-2012 | Исправлено: dimitriy7, 00:16 01-04-2012
MorSe

Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimitriy7
Прочитал постановку задачи . Думаю, важность фазовой составляющей поможет прояснить следующая программка:

Код:
 
%% чтение сигнала из файла
x=wavread('speech.wav');
L = length(x);
 
%% анализ сигнала
N = 64; STEP = N/2;
y=buffer(x,N,N-STEP);
[m,n] = size(y);
Y = fft(y,N);        
 
%% отбрасываем фазовую часть спектра, т. е. обнуляем её
Y = abs(Y);    
 
%% синтез сигнала
z = ifft(Y);
out = zeros(1,L);
out(1:N) = z(:,1)';
for j=1:n-1
    out(j*STEP+1:j*STEP+(N-STEP)) = out(j*STEP+1:j*STEP+(N-STEP)) + z(1N-STEP),j+1)';
    out(j*STEP+(N-STEP)+1:j*STEP+N) = z((N-STEP)+1:N,j+1)';
end
 
%% запись сигнала в файл
wavwrite(out,'out');

Для сравнения можно запустить программку с закомментированной строкой

Код:
Y = abs(Y);

Всего записей: 8886 | Зарегистр. 29-09-2002 | Отправлено: 21:07 31-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Syntax
 
xlim
xlim([xmin xmax])
xlim('mode')
xlim('auto')
...
 
Description
 
xlim with no arguments returns the respective limits of the current axes.


Цитата:
[xMin, xMax] = xlim
 
Error using ==> xlim
Too many output arguments.

 
как она на фиг возвращает эти много аргументов, массивом что ли?
 
 
Добавлено:
 

Код:
xLimits = xlim
xMin = xLimits(1)
xMax = xLimits(2)

вопрос снят...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 21:57 31-03-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Да так и возвращает, сразу оба:

Код:
[xMin, xMax] = xlim;

зачем лишнее-то городить?

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 23:46 31-03-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Да так и возвращает, сразу оба:

фигоба...

Цитата:
зачем лишнее-то городить?  

чтобы заработало...

Цитата:
[xMin, xMax] = xlim
 
Error using ==> xlim
Too many output arguments.

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 00:12 01-04-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
Прав ты. xlim действительно кривой...
 
MorSe
Да, с занулением фазы и на слух заметно

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 00:22 01-04-2012 | Исправлено: dimitriy7, 00:32 01-04-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimitriy7
да я тоже в матлабе... кривой...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 00:39 01-04-2012
crays

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребят кто нибудь знает теорию вероятности и статистику или может быть знает форумы где смогут помочь??

Всего записей: 10 | Зарегистр. 14-02-2012 | Отправлено: 15:18 01-04-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimitriy7
помоги, плиз, в одном небольшом вопросе...
нужна визуализация функций 2-х и 3- переменных..
с 2-мя разобрался -- surf() и все дела...
а вот с 3-мя затык...
из курения манов и чтения встроенного хелпа стало казаться, что вроде подходят slice,
но как-то нет уверенности...
 
ещё раз задача:
 
нарисовать F(x, y, z) для Xn in [An <= Xn <= Bn], n = x,y,z
 
на уровне plot3() вроде я и сам могу написать процедуру отрисовки, но наверняка это будет черепашка-ниндзя...
 
 
crays
может тебе достаточно будет встроенных тулбоксов? глянь их демонстрашки, может удасться адаптировать под себя...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 19:23 01-04-2012 | Исправлено: akaGM, 19:28 01-04-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
с 2-мя переменными - да там куча ф-ций, кроме surf() ещё есть mesh(), meshc() - какая больше понравится...
 
А как ты хочешь ф-цию 3-х переменных нарисовать? (в смысле как выглядеть должно?)
slice() - рисует трёхмерную сетку, значения ф-ции в узлах показаны цветом. Чем не устраивает? (сетка непрозрачная по умолчанию, что ли?) Кстати, slice() для отрисовки вызывает в цикле surface(), так что сетка по жизни непрозрачная будет...
 
plot3() - ну напиши, коли можешь. Тормоза - да, будут, но это ж матлаб... Он по жизни тормозит как черепашка (java - она и есть java, как её не обзови)

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 23:46 01-04-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimitriy7

Цитата:
А как ты хочешь ф-цию 3-х переменных нарисовать? (в смысле как выглядеть должно?)
я затрудняюсь ответить...
"красиво", подойдёт? :)

Цитата:
slice() - рисует трёхмерную сетку, значения ф-ции в узлах показаны цветом. Чем не устраивает? (сетка непрозрачная по умолчанию, что ли?) Кстати, slice() для отрисовки вызывает в цикле surface(), так что сетка по жизни непрозрачная будет...
ну и как эту сетку удалить?
из хелпа:
Код:
%Create the volume data by evaluating a function of three variables.
  [x,y,z] = meshgrid(-1.25:.1:-.25,-2:.2:2,-2:.1:2);
  v = x.*exp(-x.^2-y.^2-z.^2);
 
%Create the slice planes and specify interpolated FaceAlpha.
  xslice = [-1, -.75, -.5]; yslice = 0; zslice = 0;
  h = slice(x,y,z,v,xslice,yslice,zslice);
 
  set(h,'EdgeColor','none','FaceColor','interp','FaceAlpha','interp')
 
% Set the alpha data equal to the color data, install the rampdown alphamap, and increase  
% each value in the alphamap by .1 to achieve the desired
% degree of transparency. Specify the hsv colormap.
 
  alpha('color')
  alphamap('rampdown')
  alphamap('increase',.1)
  colormap(hsv)
и это всего 5 плоскостей...
 

Цитата:
plot3() - ну напиши, коли можешь
сейчас опишу алгоритм...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 00:07 02-04-2012 | Исправлено: akaGM, 00:08 02-04-2012
dimitriy7



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
ну и как эту сетку удалить?

Поковыряться в slice.m (или где она там) и переписать вызовы surface() на свою функу отрисовки "прозрачной" сетки - да хоть тем же plot3()
type slice смотрел? там же ничего сверхсложного...

Всего записей: 2946 | Зарегистр. 09-10-2008 | Отправлено: 00:24 02-04-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimitriy7
а на матлабе написал полторы программы в 10 строк...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 00:57 02-04-2012 | Исправлено: akaGM, 02:25 02-04-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
dimitriy7
 
нашёл оригинальный исходник
slice.m
 
не посмотришь, куда здесь можно воткнуться/что поправить?
хотя почему-то мне кажется, что это не поможет, а надо управляться блоком типа
  alpha('color')
  alphamap('rampdown')
  alphamap('increase',.1)
 
и
  set(h, 'EdgeColor','none', 'FaceColor','interp', 'FaceAlpha','interp')
 
пока не получается...

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 03:02 02-04-2012 | Исправлено: akaGM, 03:17 02-04-2012
crays

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
akaGM
а объясни что это такое ????????

Всего записей: 10 | Зарегистр. 14-02-2012 | Отправлено: 09:59 02-04-2012
akaGM

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
crays
а ты матлаб хоть раз запускал? :)
у него есть такая библиотека Statistics Toolbox
 

Цитата:
Statistics Toolbox™ software extends MATLAB® to support a wide range of common statistical tasks.

Всего записей: 24056 | Зарегистр. 06-12-2002 | Отправлено: 11:14 02-04-2012
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » помогите с Matlab


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru