- •Содержание
- •Нормативные ссылки
- •Введение
- •1 Амплитудная модуляция
- •1.1 Понятие и сущность амплитудной модуляции
- •1.2 Амплитудно-модулированные колебания и их спектры
- •1.3 Амплитудная модуляция как нелинейный процесс
- •2 Реализация амплитудной модуляции
- •2.1 Построение модулирующего сигнала
- •2.2 Амплитудно-частотная характеристика
- •2.3 Метод суперпозиции
- •2.4 Оцифровка сигнала
- •Заключение
- •Список используемых источников
- •Приложение а – Код подпрограммы «Построение модулирующего сигнала»
- •Приложение б – Код подпрограммы «Амплитудно-частотная характеристика»
- •Приложение в – Код подпрограммы «Метод суперпозиции»
- •Приложение г – Код подпрограммы «Оцифровка сигнала»
Приложение г – Код подпрограммы «Оцифровка сигнала»
private void button1_Click(object sender, EventArgs e)
{
chart1.Series[0].Points.Clear();
chart2.Series[0].Points.Clear();
dataGridView1.Rows.Clear();
int shagkv = int.Parse(textBox4.Text);
int A = int.Parse(textBox3.Text);
const int n = 40;
int[] y = new int[1000000];
double[] binary = new double[10000000];
Random r = new Random();
for (int i = 0; i < n; i = i + 1)
{
y[i] = r.Next(1, A);
chart1.Series[0].Points.AddXY(i, y[i]);
dataGridView1.Rows.Add(i, y[i]);
}
//////////////////////////////////////////////////////////
double kk = 0;
for (int i = 0; i < n; i=i+shagkv)
{
double l = 0;
l = Math.Ceiling(Math.Log(y[i], 2)) + 1;
for (int j = 1; j <= l; j++)
{
binary[j] = y[i] % 2;
if (y[i] == 1) binary[j] = 1;
if (binary[j] == 0) binary[j] = binary[j] + 0.1;
chart2.Series[0].Points.AddXY(l - j + kk, binary[j]);
if (y[i] == 1) break;
if (binary[j] == 1)
{
y[i] = (y[i] - 1) / 2;
}
else y[i] = y[i] / 2;
}
kk = kk + l + 1;
}
