+ All Categories
Home > Documents > Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set...

Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set...

Date post: 06-Aug-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
54
- Assignments - ( Textbook Chapter & Number ) HW 1 : 2.56, 2.66, 2.67, 2.72, 2.77, 2.89 HW 2 : 4.25, 4.38, 4.40, 4.44, 4.46, 4.48, 4.51 HW 3 : 5.45, 5.51, 5.55, 5.57, 5.64, 5.66 HW 4 : 6.26, 6.27, 6.30, 6.34, 6.36, 6.38 HW 5 : 8.29, 8.31, 8.34, 8.36, 8.39, 8.49, 8.64 HW 6 : 10.5, 10.26, 10.31, 10.34, 10.35 Project 1
Transcript
Page 1: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

- Assignments -

(Te x tbook Chap t e r & Numbe r)

HW 1 : 2.56, 2.66, 2.67, 2.72, 2.77, 2.89

HW 2 : 4.25, 4.38, 4.40, 4.44, 4.46, 4.48, 4.51

HW 3 : 5.45, 5.51, 5.55, 5.57, 5.64, 5.66

HW 4 : 6.26, 6.27, 6.30, 6.34, 6.36, 6.38

HW 5 : 8.29, 8.31, 8.34, 8.36, 8.39, 8.49, 8.64

HW 6 : 10.5, 10.26, 10.31, 10.34, 10.35

Project 1

Page 2: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 3: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 4: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 5: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 6: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 7: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 8: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 9: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 10: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 11: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 12: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 13: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 14: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 15: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 16: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 17: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 18: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 19: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 20: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 21: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 22: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 23: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 24: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 25: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 26: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 27: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 28: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 29: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 30: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 31: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 32: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 33: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 34: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 35: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 36: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 37: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 38: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 39: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 40: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로
Page 41: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

DSP PROJECT - SRRC(Square Root Raised Cosine) Filter Design -

1. Specification

(1) Ideal SRRC (Square Root Raised Cosine)

- 이상적인 SRRC 필터의 주파수 응답은 다음과 같은 특성을 만족시켜야 한다. 아래의 주파수

특성을 충족하는 SRRC 필터의 계수는 무한한 길이를 가지므로 실제 설계에서는 일종의 vestigial

LPF 로 생각하고 이에 가장 가깝도록 설계하였다. ( pw , sw 기준)

2Ideal SRRC : [ ] ( )j fd dh n H e π↔

( ) 22

102

1/ 2 1 11 cos2 2 2 2

0 otherwise

j fd

T fT

f TTH e fT T

π

α

π α α αα

−⎧ ≤ ≤⎪⎪

⎛ + − ⎞ − +⎪= + ≤ ≤⎨ ⎜ ⎟⎝ ⎠⎪

⎪⎪⎩

0.15 0.05 Remainder(last two digits of ID numbet/4); =1.0Tα = + ×

(2) SBATT (Stop Band Attenuation)

- roll-off factor 와 oversampling factor 을 다음과 같이 설정하였다.

roll-off factor : 0.2 ( 73 mod 4 = 1)α = ∵

oversampling factor : 2L =

(1 ) (1 )pass band : 0 02

(1 ) (1 ) (1 ) (1 )transition :2 2

(1 ) (1 )stop band : 0.52

w fL L

w fL L L L

w fL L

π α α

π α π α α α

π α απ

− −≤ ≤ ≤ ≤

− + − +≤ ≤ ≤ ≤

+ +≤ ≤ ≤ ≤

SBATT : 40dB

(3) ISI (Inter Symbol Interference)

Page 42: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

- ISI 는 1) 각 항들의 power 비율을 살펴보는 경우와 2) 각 항들의 magnitude 비율을 살펴보는

경우의 두 가지 형태에 대해 살펴보았다. 아래는 SRRC 필터와 RC 필터를 아래의 수식과 같이

설정하였을 때, ISI 의 수식을 나타낸 것이다.

0

SRRC : [ ] = 0, 1, , 1

RC: [ ] [ ] [ 1 ] = 0, 1, , 2 2

tn

t tk

h n n N

h n h k h k N n n N=

= + − − −∑

oversampling factor : L

(a) Type1 – power

212

20

1 121

2

1 1 0

[ ][ 1]

ISI1

[ 1 ] 2 [ ] [ ]

N

tk

N NN jTL L

t tj j k

h kh N

h N jL h k h k jL

=− −⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥ − −⎣ ⎦ ⎣ ⎦

= = =

⎛ ⎞⎜ ⎟− ⎝ ⎠= =

− ± +

∑ ∑ ∑

(b) Type2 – magnitude

111

1 011

2

0

2 [ ] [ ][ 1 ]ISI2

[ 1] [ ]

NNN jTLL

t tj kj

N

tk

h k h k jLh N jL

h N h k

−− ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥ − −⎣ ⎦⎣ ⎦

= ==−

=

+− ±= =

∑ ∑∑

(c) Constraint

10

10

10log (ISI1) 40dB20log (ISI2) 40dB

≥≤ −

2. Algorithm [1]

(1) SM-NLMS (Set Membership Normalized Least Mean Square)

- SM-NLMS 는 stop band 을 세부 구간으로 나누어 각 지점에서의 이상적인 주파수 특성과 실제

필터의 주파수 특성의 오차를 구한 뒤 이를 토대로 필터 계수를 보정해 나가는 알고리즘이다.

자세한 알고리즘은 다음과 같다.

우선 충분히 큰 K 값에 대해 SRRC 디지털 필터의 K-point DFT 을 구한다.

21

0

( ) [ ]nkN j

Kt t

n

H k h n eπ− −

=

=∑

여기서 다음을 정의하고,

Page 43: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

2

2 ( 1)

1(0)(1)

and

( 1)

tkjK

tk

N kj tK

hhe

h Ne

π

π

θ−

−−

⎛ ⎞⎛ ⎞⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟= =⎜ ⎟⎜ ⎟⎜ ⎟⎜ ⎟ −⎝ ⎠⎜ ⎟

⎝ ⎠

x

이상적인 필터의 2 /k Kπ 위치에서의 주파수 응답을 kd , 실제 필터의 주파수 응답 Tkθ x 과의

오차의 상한을 kγ 이라고 하면, 필터 설계의 문제는 다음을 만족시키는 필터계수 θ 을 찾는

문제로 표현된다.

Tk k kd θ γ− ≤x

이 때 필터계수 θ 는 다음의 해 집합에 속하게 된다.

{ }: , N Tk k kR d kθ θ γΘ ∈ − ≤ ∀x

Real parameter 에 대한 SM-NLMS 에 대해 Chia-Yu YAO [1]는 다음과 같이 필터 계수를 수정해

나갈 경우 θ 가 해 집합 Θ 내의 특정 값으로 수렴함을 증명하였다.

{ }*

1

Re k kk k k N

δθ θ β−= +

x

1

where 1 if

0 otherwise

Tkk k k

kk k

kk

dδ θγ δ γδβ

−= −

⎧ − >⎪= ⎨⎪⎩

x

(2) Gradient descent (Steepest descent)

- ISI 는 앞서 살펴본 바와 같이 필터 계수들에 대한 다변함수 형태로 표현된다. 여기서는 보다

일반적인 ISI 수식으로 Type2 ISI 을 이용하기로 한다.

111

1 011

2

0

2 [ ] [ ][ 1 ]ISI2

[ 1] [ ]

NNN jTLL

t tj kj

N

tk

h k h k jLh N jL

h N h k

−− ⎢ ⎥⎢ ⎥⎢ ⎥⎢ ⎥ − −⎣ ⎦⎣ ⎦

= ==−

=

+− ±= =

∑ ∑∑

Chia-Yu YAO [1]는 ISI 의 numerator 의 절대값을 제곱으로 바꾸어 다음과 같이 표현한 뒤, 이를

바탕으로 Gradient 을 계산하였다.

Page 44: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

121

1 02 [ ] [ ]

NN jTL

t tj k

E h k h k jL

−⎢ ⎥⎢ ⎥ − −⎣ ⎦

= =

⎛ ⎞= +⎜ ⎟

⎝ ⎠∑ ∑

이 때의 Gradient 는 다음과 같이 계산할 수 있다.

11

,(0, 1 ) ,( , 1)1 0

4 [ ] [ ] [ ] [ ]( )

NN jTL

t t t i N jL t i jL Nj kt

E h k h k jL h i jL h i jLh i

−⎢ ⎥⎢ ⎥ − −⎣ ⎦

− − −= =

⎛ ⎞∂ ⎡ ⎤= + × + ∏ + − ∏⎜ ⎟ ⎣ ⎦∂ ⎝ ⎠∑ ∑

,( , )

1where

0 otherwisei a b

a i b≤ ≤⎧∏ = ⎨

[0] [1] [ 1]

T

t t t

E E EEh h h Nθ

⎛ ⎞∂ ∂ ∂∇ = ⎜ ⎟∂ ∂ ∂ −⎝ ⎠

이제 ISI 조건을 충족시키기 위한 Gradient descent 과정은 다음과 같다.

If 1( ) 0Tk kEθ θ θ −−∇ − ≥

,k knew Eθθ θ μ= − ∇

else

1

1ISI

ISI1 if ISI( ) where = , 0.5ISI

0,

k k

k k

T

k k

E Eotherwisenew

θ θ

θ θθ θ γε γ

μ ε

θ θ μ

−=

− ⎧ ⎛ ⎞− >⎪ ⎜ ⎟= ∇ − ∇ =⎝ ⎠⎨⎪⎩= −

b

p b b

p

여기서 Eθ∇ 가 실제 ISI 의 Gradient 을 대변할 수 있으려면, ISI 의 denominator 가 고정되어

있어야 하는데, 이 부분이 항상 만족된다고 보기 어려우므로 ISI 의 실제 Gradient 을 이용하여

설계하였다. 또한 Chia-Yu YAO [1]은 Gradient descent 의 방법을 적용할 때, 필터 계수가 이전의

진행 방향과 반대 방향으로 변화하는 경우에 이전 방향에 수직한 방향으로 변하게 하여 급격한

변화를 막고자 하였는데, 이는 수렴 속도를 빠르게 하기 위한 것으로 보인다.

ISI 의 실제 Gradient 를 이용하는 경우에는 계산 량이 증가하여 이 부분을 제외하였다. 한편,

ISI 의 Gradient 는 다음과 같이 계산할 수 있다.

( )1

12

2 ( 0) ( 0)( ) ( )

( )

NL

j t t

t

A BA A B Ah i h iF

h i B

−⎢ ⎥⎢ ⎥⎣ ⎦

=

⎧ ⎫∂ ∂≥ − < × − ×⎨ ⎬∂ ∂∂ ⎩ ⎭=

Page 45: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

1

,(0, 1 ) ,( , 1)0

12

0

[ ] [ ][ ] [ ]( )

where 2 [ ][ ]

( )

N jT

t i N jL t i jL Nt ttk

N

ttk t

A h i jL h i jLA h k h k jLh iB h iB h k

h i

− −

− − −=

=

∂⎧ = + ∏ + − ∏= +⎪ ∂⎪⎨ ∂⎪ ==⎪ ∂⎩

[0] [1] [ 1]

T

t t t

F F FFh h h Nθ

⎛ ⎞∂ ∂ ∂∇ = ⎜ ⎟∂ ∂ ∂ −⎝ ⎠

따라서 ISI 조건을 충족시키기 위한 Gradient descent 과정을 다시 쓰면 다음과 같다.

,k knew Fθθ θ μ= − ∇

이 때 Gradient descent 가 적용될 수 있도록 Fθ∇ 의 magnitude 가 310− 이 되도록 조정하였다.

(3) Flow chart

SBATTUpadte Filter Coeff

By SMNLMS

ISIUpadte Filter Coeff

By Gradient descent

Specification is satisfied?

No

Yes

Create SeedBy sampling

Filter coefficient

- 전체 알고리즘은 SMNLMS 와 Gradient descent 을 반복 수행하여 주어진 Specification 을

만족시키는 필터 계수를 찾아낸다. 이때 초기의 필터 계수는 이상적인 SRRC 필터의 time

domain 에서의 함수를 oversample 하여 얻는다. 또한 초기의 필터 탭 수는 SRRC 필터를 일종의

LPF 으로 간주하여 SBATT 조건을 Kaiser window 에 적용하여 설정한 뒤, 주어진 알고리즘

내에서 수렴하지 않으면 탭 수를 늘려나갔다.

Page 46: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

3. Implementation

(1) Time domain [ ]th n

[ ]th n = [-0.0046126 0.0020771 0.0075704 -0.0079469 -0.0096055 0.014835 0.013353 -0.027437

-0.016986 0.049967 0.019475 -0.097481 -0.021343 0.31622 0.52382 0.31622 -0.021343 -0.097481

0.019475 0.049967 -0.016986 -0.027437 0.013353 0.014835 -0.0096055 -0.0079469 0.0075704

0.0020771 -0.0046126]; % 29tap; n = 0, 1, 2, … , 28

(2) Frequency domain ( )jwH e

(3) ISI

(a) Type1 – power

10log10(ISI1) ∼ 48.2530dB

(b) Type2 – magnitude

Page 47: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

20log10(ISI2) ∼ -39.9954dB

- 시뮬레이션 상에서는 Type1:48.25312810880618, Type2: -40.00000000000309 로 계산되었으나,

long 타입으로 필터 계수를 표현하여 다소의 오차가 발생하였다.

(4) Comparison with ideal SRRC

-이상적인 SRRC 필터와 설계한 SRRC 필터를 Linear scale 에서 비교하여 보았을 때, pass band

에서는 두 필터의 주파수 응답이 거의 동일하였다. 그러나 이상적인 필터의 경우 ISI 가 0 인 반면,

설계한 필터에서는 ISI 을 0.01 으로 조정하였기 때문에 transition 구간에서 두 필터의 주파수

응답의 차이가 발생하였다. 또 이상적인 필터의 stop band 구간에서는 주파수 응답이 zero 인데

설계한 필터에서는 0.01 으로 조정하여 stop band 구간에서 ripple 이 발생하였다.

4. Conclusion

- 주어진 Specification 에 맞는 SRRC 필터를 설계할 수 있었다. 단, 이 알고리즘을 적용하는

경우 SBATT 조건과 ISI 조건을 동시에 충족하는 해가 항상 존재한다고 보장할 수 없기 때문에

적절한 탭 수를 선정하는 것이 매우 중요하며, 또한 SM-NLMS 의 기법을 적용할 경우는 해가

존재한다면 반드시 수렴하지만, Gradient descent 의 기법을 적용하는 경우는 필터 계수를

변화시키는 벡터의 크기가 충분히 작아야만 수렴할 것을 기대할 수 있다. 또 SM-NLMS

알고리즘을 적용할 때, stop band 만 고려하기 때문에 pass band 의 특성은 초기의 입력 값에 크게

Page 48: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

의존하며, 때때로 그 크기가 1 과 동떨어지게 변화할 수 있다. 제시한 code 에서는 이 부분을

보정하기 위해 stop band 조건을 토대로 필터 계수를 조정하고 난 후에 전체 필터 계수를 dc

gain 로 나누어 pass band 에서의 크기가 1 이 넘지 않게 하였다.

5. 부록 : non-linear 25tap; 27tap design

- 25tap non-linear SRRC filter

(1) Time domain [ ]th n

[ ]th n = [-0.010123 -0.012731 0.020329 0.041089 -0.013816 -0.06507 0.0093173 0.10236

0.0090194 -0.14551 -0.016895 0.35159 0.50735 0.27856 0.0032718 -0.046286 0.0052712 -

0.0052148 -0.022399 0.010725 0.023673 -0.0112 -0.02576 -0.0029318 0.01538];

(2) Frequency domain ( )jwH e

Page 49: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

(3) ISI

(a) Type1 – power

10log10(ISI1) ∼ 46.3605dB

(b) Type2 – magnitude

20log10(ISI2) ∼ -36.4671dB

(4) Comparison with ideal SRRC

- 27tap non-linear SRRC filter

(1) Time domain [ ]th n

[ ]th n = [0.0016132 0.013867 -0.0040627 -0.018395 0.0015166 0.030279 0.01797 0.0041324

0.024013 -0.0043216 -0.08644 -0.009577 0.30354 0.51365 0.32261 -0.023721 -0.10468 0.037601 0.074876 -0.033884 -0.075063 -0.0061851 0.032182 0.0017666 -0.01751 -0.0020767 0.0063007];

(2) Frequency domain ( )jwH e

Page 50: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

(3) ISI

(a) Type1 – power

10log10(ISI1) ∼ 45.3677dB

(b) Type2 – magnitude

20log10(ISI2) ∼ -39.9942dB

(4) Comparison with ideal SRRC

6. Reference

[1] Chia-Yu YAO, The Design of Square-Root-Raised-Cosine FIR Filters by an Iterative Technique,

IEEE TRANS. FUNSAMENTALS, VOL.E90-A, N0.1 JANUARY 2007

[2] Alan V. Oppenheim, Ronald W. Schafer and John R. Buck, DISCRETE-TIME SIGNAL

PROCESSING, Second edition, PRETICE HALL

Page 51: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

7. MATLAB code

% SMNLMS.m

clc

close all

clear all

% System parameter

a = 0.2; % roll off factor

T = 1; %symbol rate

L = 2; % oversampling factor

K = 2^10;

gamma = 0.01; %SBATT cond

gammaISI = 0.01; %ISI cond

% Seed

% suqare root raised cosine : sqrrc

N = 29;

n = 0:N-1;

hsqrrc = (T/L)*sqrrc((n-(N-1)/2)*T/L,a,T);

theta = hsqrrc;

cnt = 0;

beta = 1;

mu = 1;

for i = 1:500

% SBATT

while (beta ~= 0) | (mu ~= 0)

cnt = cnt + 1;

if cnt>20000, break, end

for k = ceil(K*(1+a)/(2*L))-1:floor(K/2);

theta_bp = theta;

% updating for reducing SBATT

delta = 0 - theta*transpose(x(k,K,N));

Page 52: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

if abs(delta)>gamma % delta

beta = 1-gamma/abs(delta);

else

beta = 0;

end

% update theta

theta = theta + beta*real(delta*conj(x(k,K,N)))/N;

% ISI

ep = 0.5;

if ISI_OG(theta,L) > gammaISI

mu = ep*(1-gammaISI/ISI_OG(theta,L));

else

mu = 0; % no update

end

% update theta

theta = theta-mu*dF(theta,L);

end

theta = theta/(theta*transpose(x(1,K,N))); % consider stop band

if isnan(ISI_OG(theta,L))

error('NaN')

end

beta

mu

end

beta = 1;

mu = 1;

end

% dF.m

function y = dF(h,L)

N = length(h);

temp = 0;

for k = 1:N

temp = temp + h(k)^2;

end

denum = temp^2;

for i = 0:N-1

Page 53: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

num(i+1) = 0;

for j = 1:floor((N-1)/L)

if (i>=0 & i<= N-1-j*L) & (i>=j*L & i<= N-1)

temp1 = h(i+1+j*L)+h(i+1-j*L);

elseif i>=0 & i<= N-1-j*L

temp1 = h(i+1+j*L);

elseif i>=j*L & i<= N-1

temp1 = h(i+1-j*L);

end

temp2 = 0;

for k=1:(N-j*L)

temp2 = temp2 + h(k)*h(k+j*L);

end

num(i+1) = num(i+1) + 2*(temp*temp1-2*h(i+1)*temp2)*((temp2>=0)-(temp2<0));

end

end

y = num/denum;

y = (10^(-3))*y/norm(y);

end

% test_Thete.m

clc

close all

clear all

theta = [-0.0046126 0.0020771 0.0075704 -0.0079469 -0.0096055 0.014835 0.013353 -0.027437 -

0.016986 0.049967 0.019475 -0.097481 -0.021343 0.31622 0.52382 0.31622 -0.021343 -0.097481

0.019475 0.049967 -0.016986 -0.027437 0.013353 0.014835 -0.0096055 -0.0079469 0.0075704

0.0020771 -0.0046126];

N = length(theta);

L = 2;

K = 1024;

theta = theta/(theta*transpose(x(1,K,N)));

[H,w]=freqz(theta,K);

figure(1)

plot(w/2/pi, 20*log10(abs(H)))

grid on

axis([0 0.5 -100 20])

Page 54: Assignmentsocw.snu.ac.kr/sites/default/files/ASSIGNMENT/2827.pdf · 2018-01-30 · (1) SM-NLMS (Set Membership Normalized Least Mean Square) - SM-NLMS는 stop band을 세부 구간으로

20*log10(ISI_OG(theta,L))

-10*log10(ISI(theta,L))

figure(2)

n2 = 0:length(theta)-1;

stem(n2, theta)

grid on


Recommended