Содержание

Слайд 2

Какие методы необходимо применять в предлагаемой схеме?

Signal processing methods for telecommunication systems

А

Какие методы необходимо применять в предлагаемой схеме? Signal processing methods for telecommunication
какие методы вообще существуют?

Слайд 3

А какие сигналы мы обрабатываем?

Signal processing methods for telecommunication systems

А какие методы

А какие сигналы мы обрабатываем? Signal processing methods for telecommunication systems А какие методы вообще существуют?
вообще существуют?

Слайд 4

Analog signals Digital signals

Infinite precision in amplitude
Continuous signal
Continuous mathematics

Signal processing methods for

Analog signals Digital signals Infinite precision in amplitude Continuous signal Continuous mathematics
telecommunication systems

Finite precision in amplitude
Only present at certain points
Discrete mathematics

Слайд 5

Analog signals Digital signals

восстановление
разделение информационных потоков
подавление шумов
сжатие данных
фильтрация

Analog signals Digital signals восстановление разделение информационных потоков подавление шумов сжатие данных

усиление сигналов

Signal processing methods for telecommunication systems

спектральный анализ
линейная фильтрация
свертка традиционных типов
частотно-временной анализ
нелинейная обработка
адаптивная фильтрация
многоскоростная обработка
секционная свертка

Слайд 6

Базовые операции

задержка сигналов
сложение сигналов
вычитание сигналов
умножение сигналов
деление сигналов
интегрирование
дифференцирование
фильтрация

Signal processing methods for telecommunication systems

спектральный

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

Слайд 7

Какие ещё виды обработки сигналов возможны?

Статистическая обработка сигналов
Обработка звука
Распознавание речи
Обработка изображений
Обработка

Какие ещё виды обработки сигналов возможны? Статистическая обработка сигналов Обработка звука Распознавание
видео
Обработка сигналов нужна для обработки информации
Включая экспериментальные данные

Signal processing methods for telecommunication systems

Слайд 8

Signal processing methods

Today:
Part 1
Digital signals
Part 2
Basic programming in Python
Data types (in Python)
Correct

Signal processing methods Today: Part 1 Digital signals Part 2 Basic programming
notations in coding
Visualizing your signals

Signal processing methods for telecommunication systems

Слайд 9

Why digital signals are useful?
Storage (generalized computer memory, compatibility)
Processing (coding, no mechanical or

Why digital signals are useful? Storage (generalized computer memory, compatibility) Processing (coding,
physical interactions)
Transmission (signal regeneration)

Signal processing methods for telecommunication systems

Слайд 10

Transmission - signal regeneration

Signal processing methods for telecommunication systems

channel

TX

RX

+

1/G

Transmission - signal regeneration Signal processing methods for telecommunication systems channel TX RX + 1/G

Слайд 11

Transmission - signal regeneration

Signal processing methods for telecommunication systems

Transmission - signal regeneration Signal processing methods for telecommunication systems

Слайд 12

Transmission - signal regeneration

Signal processing methods for telecommunication systems

G

Transmission - signal regeneration Signal processing methods for telecommunication systems G

Слайд 13

Transmission - signal regeneration

Signal processing methods for telecommunication systems

G

Transmission - signal regeneration Signal processing methods for telecommunication systems G

Слайд 14

Transmission - signal regeneration

Signal processing methods for telecommunication systems

G

Transmission - signal regeneration Signal processing methods for telecommunication systems G

Слайд 15

Why digital signals are useful?
Storage (generalized computer memory, compatibility)
Processing (coding, no mechanical or

Why digital signals are useful? Storage (generalized computer memory, compatibility) Processing (coding,
physical interactions)
Transmission (signal regeneration)

Signal processing methods for telecommunication systems

Слайд 16

Digital signals

One dimensional (for now)
Notation x[n] where «n» is an integer
Two sides

Digital signals One dimensional (for now) Notation x[n] where «n» is an
sequences x : ℤ ? ℂ
n is a-dimensional
Analysis (by taking periodic measurements
Synthesis (program that generates a stream of samples)

Signal processing methods for telecommunication systems

Слайд 17

Digital Signals – common signals

Delta Dirac function
Unit step function
Exponential decay
Sinusoidal signals

Signal processing

Digital Signals – common signals Delta Dirac function Unit step function Exponential
methods for telecommunication systems

Слайд 18

Delta signal

Signal processing methods for telecommunication systems

Delta signal Signal processing methods for telecommunication systems

Слайд 19

Unit Step function

Signal processing methods for telecommunication systems

Unit Step function Signal processing methods for telecommunication systems

Слайд 20

Exponential functions

Signal processing methods for telecommunication systems

Exponential functions Signal processing methods for telecommunication systems

Слайд 21

Sinusoidal functions

Signal processing methods for telecommunication systems

Sinusoidal functions Signal processing methods for telecommunication systems

Слайд 22

Signal classes

Finite length x[n] for n = 0,1, … ,N-1
Infinite length
Periodic
Finite-support

Signal processing

Signal classes Finite length x[n] for n = 0,1, … ,N-1 Infinite
methods for telecommunication systems

Слайд 23

Finite length
Sequence notation
Vector notation
Easy to process in numerical packages (numPy)

Signal

Finite length Sequence notation Vector notation Easy to process in numerical packages
processing methods for telecommunication systems

Слайд 24

Infinite length
Sequence notation
Good for theorems

Signal processing methods for telecommunication systems


Infinite length Sequence notation Good for theorems Signal processing methods for telecommunication systems ℤ

Слайд 25

Periodic
N-periodic Sequence
The same information as finite signals with length N
Useful as a

Periodic N-periodic Sequence The same information as finite signals with length N
bridge between finite and infinite signals

Signal processing methods for telecommunication systems

Слайд 26

Finite support signals
The same information as finite signals of length N
Useful as

Finite support signals The same information as finite signals of length N
a bridge between finite and infinite signals

Signal processing methods for telecommunication systems

Слайд 27

Energy and Power

Signal processing methods for telecommunication systems

Energy and Power Signal processing methods for telecommunication systems

Слайд 28

Elementary operators

Delay
Scaling
Summation

Signal processing methods for telecommunication systems

Elementary operators Delay Scaling Summation Signal processing methods for telecommunication systems

Слайд 29

Elementary operators

Delay

Signal processing methods for telecommunication systems

Elementary operators Delay Signal processing methods for telecommunication systems

Слайд 30

Elementary operators

Scaling

Signal processing methods for telecommunication systems

Elementary operators Scaling Signal processing methods for telecommunication systems

Слайд 31

Elementary operators

Summation

Signal processing methods for telecommunication systems

Elementary operators Summation Signal processing methods for telecommunication systems

Слайд 32

Karplus-Strong algorithm - simplified

Signal processing methods for telecommunication systems

Karplus-Strong algorithm - simplified Signal processing methods for telecommunication systems

Слайд 33

Karplus-Strong algorithm - simplified

Signal processing methods for telecommunication systems

Karplus-Strong algorithm - simplified Signal processing methods for telecommunication systems

Слайд 34

Karplus-Strong algorithm - simplified

Signal processing methods for telecommunication systems

Karplus-Strong algorithm - simplified Signal processing methods for telecommunication systems

Слайд 35

Karplus-Strong algorithm

Signal processing methods for telecommunication systems

 

Karplus-Strong algorithm Signal processing methods for telecommunication systems

Слайд 36

Karplus-Strong algorithm

Signal processing methods for telecommunication systems

Karplus-Strong algorithm Signal processing methods for telecommunication systems

Слайд 37

Karplus-Strong algorithm

Signal processing methods for telecommunication systems

Understanding the Karplus-Strong with Python (Synthetic

Karplus-Strong algorithm Signal processing methods for telecommunication systems Understanding the Karplus-Strong with
Guitar Sounds Included) | Frolian's blog (flothesof.github.io)

Слайд 38

Python 3 Anaconda - Spyder

Signal processing methods for telecommunication systems

Python 3 Anaconda - Spyder Signal processing methods for telecommunication systems

Слайд 39

Data types

Text Type: str
Numeric Types: int, float, complex
Sequence Types: list, tuple, range
Mapping Type: dict
Set Types: set, frozenset
Boolean

Data types Text Type: str Numeric Types: int, float, complex Sequence Types:
Type: bool
Binary Types: bytes, bytearray, memoryview

Signal processing methods for telecommunication systems

Слайд 40

Data types

You can assign the datatype manually (like programming in C)
OR
You can

Data types You can assign the datatype manually (like programming in C)
assign the datatype automatically

Signal processing methods for telecommunication systems

Слайд 41

Data types

Some data types can interact
Try assigning the INTEGER 5 to variable

Data types Some data types can interact Try assigning the INTEGER 5
‘x’
Try assigning the float 7 to variable ‘y’
Multiply ‘x’ and ‘y’ and assign the result to ‘z’ (you type ‘z=x*y’)
Determine the data type of ‘z’

Signal processing methods for telecommunication systems

Слайд 42

Importing libraries

For example try to print the number π

Signal processing methods for

Importing libraries For example try to print the number π Signal processing methods for telecommunication systems
telecommunication systems

Слайд 43

Importing functions

For example try to print the number π

Signal processing methods for

Importing functions For example try to print the number π Signal processing methods for telecommunication systems
telecommunication systems

Слайд 44

Visualizing numbers – plotting a sine wave

Signal processing methods for telecommunication systems

Visualizing numbers – plotting a sine wave Signal processing methods for telecommunication systems

Слайд 45

Visualizing numbers – plotting a sine wave

Import module numpy
Import the function

Visualizing numbers – plotting a sine wave Import module numpy Import the
pyplot from the module matplotlib

Signal processing methods for telecommunication systems

Слайд 46

Visualizing numbers – plotting a sine wave

Create time points for the x-axis
Numbers

Visualizing numbers – plotting a sine wave Create time points for the
0 until 10 with step size 0.01
(so you will get a range from [0 0.01 0.02 0.03 … 1] )

Signal processing methods for telecommunication systems

Слайд 47

Visualizing numbers – plotting a sine wave

Create the amplitude points for each

Visualizing numbers – plotting a sine wave Create the amplitude points for
point in time
Use the sin function of the numpy module
(which you loaded and renamed as ‘np’

Signal processing methods for telecommunication systems

Слайд 48

Visualizing numbers – plotting a sine wave

Signal processing methods for telecommunication systems

Visualizing numbers – plotting a sine wave Signal processing methods for telecommunication systems

Слайд 49

Visualizing numbers – plotting a sine wave

Create the plot.
Create the mark up

Visualizing numbers – plotting a sine wave Create the plot. Create the
for the plot

Signal processing methods for telecommunication systems

Слайд 50

Visualizing numbers – plotting a sine wave

Display the plot.

Signal processing methods for

Visualizing numbers – plotting a sine wave Display the plot. Signal processing methods for telecommunication systems
telecommunication systems

Слайд 51

Python

Try to adhere to good practice!!
Code is written once, but read multiple

Python Try to adhere to good practice!! Code is written once, but
times.
Find ground rules here:
https://www.python.org/dev/peps/pep-0008/

Signal processing methods for telecommunication systems

Слайд 52

Digital signals - limitations

1 + 1e20 - 1e20 = ?
1 + (1e20

Digital signals - limitations 1 + 1e20 - 1e20 = ? 1
- 1e20) = ?
Why?

Signal processing methods for telecommunication systems

Слайд 53

(1e20 · 1e20) · 1e-20 = ?
1e20 · (1e20 · 1e-20) =

(1e20 · 1e20) · 1e-20 = ? 1e20 · (1e20 · 1e-20)
?
1e20 ·(1e20-1e20)= ?
1e20 · 1e20 – 1e20 · 1e20 = ?

Signal processing methods for telecommunication systems

Слайд 54

Data types - Integer (int)

Signal processing methods for telecommunication systems

Data types - Integer (int) Signal processing methods for telecommunication systems

Слайд 55

Floating point - Single precision (single) / double precision (double)

Signal processing methods

Floating point - Single precision (single) / double precision (double) Signal processing
for telecommunication systems

double precision (64 bit) floating numbers
-123.4567890123 = -1.234567890123 e2

sign

mantissa
(significant numbers)

exponent

sign

exponent

mantissa
(significant numbers)

Слайд 56

Floating point - Single precision (single) / double precision (double)

Signal processing methods

Floating point - Single precision (single) / double precision (double) Signal processing
for telecommunication systems

double precision (64 bit) floating numbers

x = ± ( 1 + f ) · 2e

With fraction f
0 ≤ f < 1
In the interval where
252·f is an integer
0 ≤ 252·f < 252

Giving the decimal interval for e as
-1022 ≤ e ≤ 1023
Using offset binary representation

Слайд 57

Floating point - Single precision (single) / double precision (double)

Signal processing methods

Floating point - Single precision (single) / double precision (double) Signal processing
for telecommunication systems

double precision (64 bit) floating numbers

x = ± ( 1 + f ) · 2e

With fraction f
0 ≤ f < 1
In the interval where
252·f is an integer
0 ≤ 252·f < 252

With exponent e as integer in the interval
-1022 ≤ e ≤ 1023

Слайд 58

Не сравнивайте числа с плавающей запятой

Signal processing methods for telecommunication systems

Не сравнивайте числа с плавающей запятой Signal processing methods for telecommunication systems

Слайд 59

Будьте аккуратны с числами с плавающей запятой

Точность уменьшается по мере роста величины
Ошибки

Будьте аккуратны с числами с плавающей запятой Точность уменьшается по мере роста
переполнения и округления
Ракета-носитель «Ариан-5» 4 июня 1996 была подорвана на 34-й секунде полёта
Конвертация данных из 64-разрядного числа с плавающей запятой в 16-разрядное привела к зависанию компьютера
Точность ракет Patriot в 1991 (Война в Персидском заливе) была ограничена ошибкой округления

Signal processing methods for telecommunication systems

Слайд 60

Data types - Fixed point

A fixed decimal point. Often used in low

Data types - Fixed point A fixed decimal point. Often used in
level devices.
example
10001011
23 + 2-1 + 2-3 + 2-4 = 8.675

Signal processing methods for telecommunication systems

Radix point

Слайд 61

5 steps of a method/function in any language

1 Initialization
2 input
3 process
4 output
5

5 steps of a method/function in any language 1 Initialization 2 input
Termination

Signal processing methods for telecommunication systems

Слайд 62

1) Define a function

def myFirstFunction(input):
print(“This will be the output, %s” %(input))

Signal

1) Define a function def myFirstFunction(input): print(“This will be the output, %s”
processing methods for telecommunication systems

Слайд 63

Importing the function
Calling the function

Signal processing methods for telecommunication systems

Importing the function Calling the function Signal processing methods for telecommunication systems

Слайд 64

Data types

Text Type: str
Numeric Types: int, float, complex
Sequence Types: list, tuple, range
Mapping Type: dict
Set Types: set, frozenset
Boolean

Data types Text Type: str Numeric Types: int, float, complex Sequence Types:
Type: bool
Binary Types: bytes, bytearray, memoryview

Signal processing methods for telecommunication systems

Слайд 65

Writing a Karplus-Strong algorithm in Python

Signal processing methods for telecommunication systems

 

Writing a Karplus-Strong algorithm in Python Signal processing methods for telecommunication systems

Слайд 66

Writing a Karplus-Strong algorithm in Python

Generate a random input
Process the input using

Writing a Karplus-Strong algorithm in Python Generate a random input Process the
the algorithm
Show the Result
Save the result

Signal processing methods for telecommunication systems

Слайд 67

Writing a Karplus-Strong algorithm in Python

Generate a random input

Signal processing methods for

Writing a Karplus-Strong algorithm in Python Generate a random input Signal processing
telecommunication systems

Understanding the Karplus-Strong with Python (Synthetic Guitar Sounds Included) | Frolian's blog (flothesof.github.io)

Слайд 68

Data types

Text Type: str
Numeric Types: int, float, complex
Sequence Types: list, tuple, range
Mapping Type: dict
Set Types: set, frozenset
Boolean

Data types Text Type: str Numeric Types: int, float, complex Sequence Types:
Type: bool
Binary Types: bytes, bytearray, memoryview

Signal processing methods for telecommunication systems

Слайд 69

Writing a Karplus-Strong algorithm in Python

Generate a random input
numpy.random.uniform
Syntax
import numpy as np
np.random.uniform(low=0.0, high=1.0, size=None)
np.random.uniform(-1,1,1000)

Signal

Writing a Karplus-Strong algorithm in Python Generate a random input numpy.random.uniform Syntax
processing methods for telecommunication systems

Слайд 70

Writing a Karplus-Strong algorithm in Python

Generate a random input
Process the input using

Writing a Karplus-Strong algorithm in Python Generate a random input Process the
the algorithm
Show the Result
Save the result

Signal processing methods for telecommunication systems

Слайд 71

Writing a Karplus-Strong algorithm in Python

First solution

Signal processing methods for telecommunication systems

 

1)

Writing a Karplus-Strong algorithm in Python First solution Signal processing methods for
Create variable y as a copy of input x; Append N zeros in front of y
OR
Create y as zeros for a lenght of x plus N Replace the indexed values in y with values of x
2) Write a for-loop, which goes through all indexes of y Replace indexed values of y, with a sum of the current value plus scaled previous values

Слайд 72

Writing a Karplus-Strong algorithm in Python

First solution

Signal processing methods for telecommunication systems

 

Writing a Karplus-Strong algorithm in Python First solution Signal processing methods for telecommunication systems

Слайд 73

Writing a Karplus-Strong algorithm in Python

Second solution

Signal processing methods for telecommunication systems

Writing a Karplus-Strong algorithm in Python Second solution Signal processing methods for telecommunication systems

Слайд 74

Second solution

Writing a Karplus-Strong algorithm in Python

Signal processing methods for telecommunication systems

1

2

N

.

Second solution Writing a Karplus-Strong algorithm in Python Signal processing methods for
. .

0

0

0

1

. . .

1

2

. . .

N

N+1

1/2

0

0

1/2

Слайд 75

Second solution:
IIR Filter
b-coefficients
b0, b1, … bN-1 are 0
bN is

Second solution: IIR Filter b-coefficients b0, b1, … bN-1 are 0 bN
1
a-coefficients
a0 is 1
a1 .. aN-1 are 0
aN and aN+1 are 0.5

Writing a Karplus-Strong algorithm in Python

Signal processing methods for telecommunication systems

Слайд 76

Writing a Karplus-Strong algorithm in Python

Signal processing methods for telecommunication systems

Writing a Karplus-Strong algorithm in Python Signal processing methods for telecommunication systems

Слайд 77

Save your output

Signal processing methods for telecommunication systems

Save your output Signal processing methods for telecommunication systems

Слайд 78

Homework Task 1

Write your own function and generate outputs (for example your own

Homework Task 1 Write your own function and generate outputs (for example
random number generator, a lookup table etc.)
Change the code to match «good practice»
Create a function that has multiple outputs, and optimize the memory usage and processing speed.
Retrieve the outputs from the function and display them (or plot them)

Signal processing methods for telecommunication systems

https://www.python.org/dev/peps/pep-0008/