2 / 2 / 1
Регистрация: 19.12.2014
Сообщений: 43
1

Не могу восстановить кусочную функцию

05.09.2019, 16:45. Показов 556. Ответов 1
Метки нет (Все метки)

Имеется задание
1) Теорема Котельникова утверждает, что если в спектре сигнала не содержится частот бОльших, чем половина частоты дискретизации, то исходный сигнал может быть однозначно восстановлен по своим дискретным отчетам следующим образом:


T – интервал (период) дискретизации, - частота дискретизации.
Восстановите свой сигнал с помощью теоремы Котельникова, используя разное количество отсчетов (например, 10 и 50), постройте графики восстановленного сигнала.
Обратите внимание, что прямое вычисление функции Котельникова в некоторых точках (t=nT) приводит к делению на ноль. На самом деле, поскольку аргумент синуса тоже равен нулю, значение всей дроби следует положить равным 1 (поскольку ).

было много вариантов кодов остановился на это но все равно не получается
C++
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
#include <stdio.h>
#include <iostream>
#include <math.h>
#include <fstream>
 
using namespace std;
int main(){
        ofstream fout;
    fout.open("4.txt");
    double
        fs=5,           // Частота сигнала
        tt; // момент для построения
    int 
            i,j;            // Счётчики
    double
        arg,                    // аргумент синуса
        step=1,             // шаг времени
        fd=14,              // частота дискретизации
        PI=4*atan(1.),      // Число Пи
        t,                  // момент времени при дискр
        Td=(1/fd),          // Период дискретизации
        g[20],              // Дискретизированные значения
        r[200],
        c=0 ,           // значение восст функции
    d;
 
    for(i=0; i<18; i++)
    {           // Дискретизация сигнала
        t = i ;
         if ((t >= 0) && (t < 2)) {
    c = t;
  } else if ((t >= 2) && (t < 6)) {
    c = -t + 4;
  } else if ((t >= 6) && (t < 8)) {
    c = t - 8;
  }
else   {
    c = 0;
  }
  g[i] = c;
  r[i] = t;
 }
    
    for(j=0;j<200;j+=1)             //  Восстановление сигнала
    {
        c=0;
        tt=j*0.1;
        for(i=0; i<20; i++)
            {
                arg = (PI*tt/Td)-(i*PI);
                    c+=g[i]*(arg==0?1:(sin(arg)/arg));
            } 
                
            d=(-2)*cos(5*PI*fs*tt) ;
            cout << r[j] << ' ' <<  g[j] << ' ' << d << endl;
            fout << r[j] << ' ' <<  g[j] << ' ' << d << endl;
    }
cin>>i;
}
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Миниатюры
Не могу восстановить кусочную функцию  
Изображения
  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
05.09.2019, 16:45
Ответы с готовыми решениями:

Не могу построить кусочную функцию
Подскажите пожалуйста, в чем ошибка? Все условия вроде выделены правильно, но никак не строит график

Вычислить кусочную функцию
Нужно написать код к этому

Построить кусочную функцию
Ребята кто разбирается: как написать систему уравнений, написал так, но чето не то: and (x &gt; -2,...

Вычислить кусочную функцию
составить программу,вычисляющую значения функций y={a}^{2}*x+{b}^{2}*{x}^{2} x&lt;1.2 y={a}^{2}+x ...

1
2 / 2 / 1
Регистрация: 19.12.2014
Сообщений: 43
05.09.2019, 16:46  [ТС] 2
Получается такой график
0
Миниатюры
Не могу восстановить кусочную функцию  
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
05.09.2019, 16:46

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Вычислить кусочную функцию
Добрый день! Помогите пожалуйста, кто может с заданием. нужно написать программу, которая будет...

Вычислить кусочную функцию
Помогите решить задачу на асемблере:( вычислить ф-цию (x+3)в квадрате/2x при...

[emu8086] Вычислить кусочную функцию
4*I-7 , I&gt;3 M= I*I+4*I-7 , I&lt;3 (I*I*I)/(I*I+2) , I=3

[emu8086] Вычислить кусочную функцию
Помогите пожалуйста решить пример на Assembler(а то сам не могу никак осилить) | a/b+1, ...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.