Форум программистов, компьютерный форум CyberForum.ru

можно ко из Matlab положить на язык CCS v3.1 - C++

Восстановить пароль Регистрация
 
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
15.05.2012, 20:36     можно ко из Matlab положить на язык CCS v3.1 #1
достаточно только перевести в язык си....
если вдруг необходимо....

задание: нужно составить рабочий код для "расчета и программной реализации равнополосного банка цифровых фильтров на DSP TMS320VC5510"

исходные данные к проекту :
тип фильтра - полосовой;
аппроксимация - по Чебышеву;
частота дискретизации - 16кГц;
количество полос - 4;
Ширина полосы - 2кГц;

вот код matlab:
Matlab M
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Равнополосный, максимально децимированный, параунитарный:
function [X] = dct02a(x, K, h)
%Равнополосный, максимально децимированный, параунитарный
%косинусно-модулированный банк фильтров - анализатор
%Вход:
% x - анализируемый сигнал
% K - количество каналов
% h - коэффициенты фильтра-прототипа LP FIR (fc = pi / (2*K))
%Выход:
% X - матрица сигналов каналов банка фильтра
%Подготовка фильтра-прототипа
if mod(length(h), 2 * K),
h(2 * K * ceil(length(h) / (2 * K))) = 0;
end;
h = reshape(h, 2 * K, length(h) / (2 * K)) * K;
h(:, 2 : 2 : size(h, 2)) = -h(:, 2 : 2 : size(h, 2));
g = zeros(2 * K, 2 * size(h, 2));
g(1 : K, 1 : 2 : size(g, 2)) = h(1 : K, :);
g(K + 1 : 2 * K, 2 : 2 : size(g, 2)) = h(K + 1 : 2 * K, :);
if mod(length(x), K),
x(K * ceil(length(x) / K)) = 0;
end;
%Сортировка входных отсчетов на каналы
X = repmat(reshape(x, K, length(x) / K), 2, 1);
%Полифазная фильтрация
for k = 1 : (2 * K),
X(k, :) = filter(g(k, :), 1, X(k, :));
end;
%Подготовка модуляционной матрицы
for k = 1 : K,
for l = 1 : (2 * K),
c(k, l) = 2*cos((k-0.5) * (pi/K) * (l-0.5) + (-1 ^ (k-1)) * pi/4);
end;
end;
%Модуляция
X = c * X;
function [y] = dct02s(X, h)
%Равнополосный, максимально децимированный, параунитарный
%косинусно-модулированный банк фильтров - синтезатор
%Вход:
% X - матрица с сигналами каналов банка фильтров
% h - коэффициенты фильтра-прототипа LP FIR (fc = pi / (2*K))
%Выход:
% y - синтезированный сигнал
%Определение количества каналов
K = size(X, 1);
%Подготовка фильтра-прототипа
if mod(length(h), 2 * K),
h(2 * K * ceil(length(h) / (2 * K))) = 0;
end;
h = reshape(h, 2 * K, length(h) / (2 * K));
37
h(:, 1 : 2 : size(h, 2)) = -h(:, 1 : 2 : size(h, 2));
g = zeros(2 * K, 2 * size(h, 2));
g(1 : K, 1 : 2 : size(g, 2)) = h(1 : K, :);
g(K + 1 : 2 * K, 2 : 2 : size(g, 2)) = h(K + 1 : 2 * K, :);
%Формирование модуляционной матрицы
for k = 1 : K,
for l = 1 : (2 * K),
c(k, l) = 2*cos((k-0.5) * (pi/K) * (l-0.5) + (-1 ^ (k-1)) * pi/4);
end;
end;
%Модуляция
Y = c' * X;
%Полифазная фильтрация
f = flipud(g);
for k = 1 : K,
Y(k, :) = filter(f(k, :), 1, Y(k, :));
Y(k + K, :) = filter(f(k + K, :), 1, Y(k + K, :));
end;
%Реконструкция сигнала
y = zeros(K, size(Y, 2));
for k = 1 : K,
y(k, :) = Y(k, :) + Y(k + K, :);
end;
y = y(:);
Добавлено через 4 часа 12 минут
буду благодарна очень помощи!

Добавлено через 1 час 37 минут
откликнитесь, пожалуйста хоть кто - нибудь ... возможно ли это ?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.05.2012, 20:36     можно ко из Matlab положить на язык CCS v3.1
Посмотрите здесь:

Переменные ссылочного типа. Просьба разжевать и положить в рот. C++
C++ Составить программу – генератор простых чисел, в основу положить формулу 2x2 + 29 при 0<=x<=28.
генератор простых чисел в С++, в основу положить формулу 2x2 + 29 при 0<=x<=28 C++
C++ Файлы. Отделить пары координат x и y, и положить в массив структур
Как распарсить строку и положить данные в элементы структуры C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
15.05.2012, 21:03     можно ко из Matlab положить на язык CCS v3.1 #2
Матлаб не знаю...
А есть материал как бы это решение выглядело с математической точки зрения, т.е пример того как бы это выглядело на бумажном листе?

И еще надо именно чистый С или можно С++?
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
15.05.2012, 21:41  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #3
ну вообще надо чтобы на плату легло.... код из методички....
факт в том чтобы просто должен получился код рабочего равнополосного банка цифровых фильтров....

Добавлено через 3 минуты
что бы код работал на ССS v3,1.... ну или на 4
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
15.05.2012, 21:42     можно ко из Matlab положить на язык CCS v3.1 #4
чтобы на плату легло.
Про какую плату речь? Микроконтроллера?
И что такое CCS v3,1?
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
15.05.2012, 23:06  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #5
CCS - это Code Composer Studio
плата Texas Instrumens DSP TMS320VC5510
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
15.05.2012, 23:11     можно ко из Matlab положить на язык CCS v3.1 #6
Не знаком.
Но на С можно написать знать что она должна делать и как...
Вот только проверить не смогу...
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
15.05.2012, 23:16  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #7
попробуйте если не сложно...а мы уже проверим!.... потом отпишусь)
главное этот код передить под С....
и чтобы равнополосный банк был

Добавлено через 50 секунд
я сверху всё задание отписала......
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
15.05.2012, 23:24     можно ко из Matlab положить на язык CCS v3.1 #8
Ну мне матиматическое описание нужно, пример. Как уже говорил MathLab не знаю, да и вспоминать теорию по фильтрам как то не хочится.

Добавлено через 1 минуту
Например я не знаю что должа вычислять строка
Matlab M
1
h = reshape(h, 2 * K, length(h) / (2 * K)) * K;
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
15.05.2012, 23:58  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #9
вот методичка по которой мы работаем с цифровыми фильтрами
Вложения
Тип файла: pdf Tsifrovye_banki_filtrov.pdf (1.57 Мб, 42 просмотров)
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
16.05.2012, 00:09     можно ко из Matlab положить на язык CCS v3.1 #10
Это все хорошо, но конкретное описание(математическое) этого примера есть?
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
16.05.2012, 00:14  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #11
в том то всё и дело((((
увы это всё что есть....
по этому ничего нельзя сделать?
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
16.05.2012, 00:16     можно ко из Matlab положить на язык CCS v3.1 #12
Ну что вы не можете прокоментировать код матлаба?
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
16.05.2012, 00:17  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #13
увы это всё что есть(((((
а по тому что есть нельзя написать код банка?
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
16.05.2012, 00:21     можно ко из Matlab положить на язык CCS v3.1 #14
Я понятия не имею что значат те ф-ции и есть ли им аналоги в Си, а если нет то надо самому их писать.
Поэтому я даже оценить сложность не могу...
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
16.05.2012, 01:47  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #15
жаль......

Добавлено через 1 час 17 минут
может вот это ?
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
16.05.2012, 01:48  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #16
вот...
Вложения
Тип файла: pdf 2007_10_156.pdf (361.6 Кб, 10 просмотров)
Avazart
 Аватар для Avazart
6906 / 5146 / 253
Регистрация: 10.12.2010
Сообщений: 22,639
Записей в блоге: 17
16.05.2012, 13:31     можно ко из Matlab положить на язык CCS v3.1 #17
Как связать визуальную среду программирования с++ builder и matlab?

http://www.ict.edu.ru/ft/004451/40.pdf тут вроде сказано то что можно переводить код с помощью средств самого MathLab
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.05.2012, 13:52     можно ко из Matlab положить на язык CCS v3.1
Еще ссылки по теме:

C++ Как положить строку из файла в контейнер vector
Как правильно написать функцию push (положить в стек) C++
C++ Как положить в вектор структур значение через push_back

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Настёна_19
 Аватар для Настёна_19
0 / 0 / 0
Регистрация: 07.12.2009
Сообщений: 50
16.05.2012, 13:52  [ТС]     можно ко из Matlab положить на язык CCS v3.1 #18
попробую...спасибо
Yandex
Объявления
16.05.2012, 13:52     можно ко из Matlab положить на язык CCS v3.1
Ответ Создать тему
Опции темы

Текущее время: 03:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru