Разработка и тестирование программного обеспечения функционального проектирования нелинейных систем с учетом комбинационных помех заданного порядка
Сравнение методик расчета и анализа частотного распределения. Синтез номограммы комбинационных частот с использованием рядов Фарея. Программная реализация алгоритмов оптимизации распределения преобразователя частоты с перестраиваемым преселектором.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.04.2017 |
Размер файла | 3,5 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
// Добавляем линии в коллекцию линий HashSet:
if (LinePlus!= null)
allCombFreqLines. Add(LinePlus);
if (LineMinus!= null)
allCombFreqLines. Add(LineMinus);
}
}
}
}
// Определяет, является ли переданная точка пораженной. Ищет линию(и) с определенным знаком производной в заданной области частот (суммирование или вычитание). Если проходит хотя бы одна линия => это пораженная точка. Возвращает объект SimpleLine в случае успеха и null если не удалось найти линию.
// Warning! Функция поиска вcех линий проходящих через одну точку пока не реализована.
private SimpleLine CheckingOnePoint (Fraction fr, int FSIndex, ref int numb_lines, Sign sign, AreaType areaType)
{
// Принимает в качестве аргументов:
// - пораженную точку
// - индекс ряда Фарея
// - ссылку на переменную с общем числом линий, проходящих через данную точку
// - объект тип смесителя
// - знак производной (+ или -) для линии
// - тип области номограммы, с которой мы сейчас работаем (суммирование (верх) / вычитание (низ) частот)
// Уравнение вида y = m*x + n
int m = 0;
int n = 0;
// Вычисление m и n:
// 1) Учет знака производной
sbyte m_сoeff = 0;
sbyte n_сoeff = 0;
if (sign == Sign. Plus)
{
m_сoeff = 1;
n_сoeff = -1;
}
else if (sign == Sign. Minus)
{
m_сoeff = -1;
n_сoeff = 1;
}
// 2) Учитываем с какой областью диаграммы работаем (суммирование (верх) / вычитание (низ) частот):
sbyte NSignal_koeff = 0;
sbyte NGeterodin_koeff = 0;
if (areaType == AreaType. SumFreq)
{
NSignal_koeff = 1;
NGeterodin_koeff = 1;
}
else if (areaType == AreaType. SubFreq)
{
NSignal_koeff = -1;
NGeterodin_koeff = 1;
}
bool Accept = false; // Подходит или нет данная пораженная точка
// Находим комбинационные частоты, проходящие через данную пораженную точку…
for (int k = 1; k <= FSIndex / fr.Q; k++)
{
m = m_сoeff * k * fr.Q + NSignal_koeff * NSignal;
n = n_сoeff * k * fr.R + NGeterodin_koeff * NGeterodin;
if (Math. Abs(m) + Math. Abs(n) < Kp)
{
// Строка 140 и ниже, оригинальный алгоритм (NomogrammaFarey.bas)
switch (TC)
{
case ConverterType.TCSimple:
Accept = true;
break;
case ConverterType.TCBalanceF1: // Сигнал
if (m == 0 || Math. Abs(m)% 2 > 0) // 0q+0 всегда будет рисоваться
Accept = true;
break;
case ConverterType.TCBalanceF2: // Гетеродин
if (n == 0 || Math. Abs(n)% 2 > 0) // 0q+0 всегда будет рисоваться
Accept = true;
break;
case (ConverterType.TCBalanceF1F2):
if ((m == 0 && n == 0) || ((Math. Abs(m)% 2 > 0) && (Math. Abs(n)% 2 > 0))) // 0q+0 всегда будет рисоваться
Accept = true;
break;
}
// Как только находим комб. частоту удовлетворяющую условиям,
// возвращаем объект прямой и выходим из цикла:
if (Accept == true)
{
numb_lines++;
return new SimpleLine (m, n);
}
}
}
// Если ничего не нашли:
numb_lines = 0;
return null;
}
Размещено на Allbest.ru
Подобные документы
Основные понятия комбинационных схем, принципы их проектирования в булевом и монофункциональном базисах. Особенности проектирования комбинационных схем с учетом коэффициентов объединения по входу и выходу. Некоторые способы устранения перегрузок.
реферат [513,0 K], добавлен 19.01.2011Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.
курсовая работа [593,3 K], добавлен 03.01.2015Анализ затрат и прибыли. Создание программного проекта для решения задачи о прибыли и убытках на языке программирования C#. Использование функций и переменных, компиляция программы. Алгоритмы и структуры данных. Тестирование программного обеспечения.
курсовая работа [1,2 M], добавлен 03.01.2015Обзор разнообразных методов теории линейных систем: методов корреляционного и регрессионного анализа, косинор-анализа. Особенности применения факторного анализа. Программная реализация метода главных компонент. Разработка нелинейных регрессионных моделей.
дипломная работа [390,2 K], добавлен 03.09.2016Принципы построения и функционирования дешифратора. Синтезирование схемы дешифратора 3-разрядного числа, ее тестирование с помощью программы Multisim 8. Исследование работы микросхемы К155ИД4 и ее зарубежного аналога SN74155 в различных режимах.
лабораторная работа [302,0 K], добавлен 27.11.2013Анализ технического задания. Разработка интерфейса программы и ее алгоритмов. Кодирование и тестирование разработанного программного обеспечения, оценка его практической эффективности и функциональности. Формирование, содержание руководства пользователя.
курсовая работа [2,0 M], добавлен 31.07.2012Создание программы, автоматизирующей расчет коэффициента ритмичности продукции с использованием электронных таблиц средствами языка программирования Си. Консолидация данных в MSExcel. Программная реализация алгоритма. Тестирование разработанного ПО.
курсовая работа [3,0 M], добавлен 07.06.2014Разработка конфигурации службы. Исследование вычислительной эффективности алгоритма оптимизации. Программная реализация клиент-серверного приложения. Алгоритм решения непрерывной задачи загрузки рюкзака. Подключение веб-сервиса к клиентскому приложению.
курсовая работа [1,4 M], добавлен 21.01.2017Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Порядок автоматизации расчетов себестоимости и длительности программного обеспечения производственного предприятия. Выбор языка программирования и системы управления базами данных. Разработка алгоритмов расчета себестоимости программного обеспечения.
дипломная работа [1,7 M], добавлен 13.06.2017