Calculating filter parameters from system response In trying to answer another question, I got stuck applying what I thought would be a valid way to answer it: using the system function. Here's what I did:

First, I put the question

Y[i] = Y[i-1] + ALPHA * ( X[i] + Y[i-1] )


into DF I:

Y[i] = ALPHA * X[i] - (ALPHA-1) * Y[i-1]


This tells me that the system function is:

H(z) = ALPHA / ( 1 + (ALPHA-1) z^-1 )


Substituting:

z=e^(jw)


and

|H(z)| = .5 (or .707)


should allow me to calculate ALPHA, but I only get complex values for ALPHA. What am I doing wrong?
Just math I think. Let's substitute g = ALPHA -1, which makes the algebra a little easier. Then you need to solve 
$$\left | \frac{1+g}{1+g\cdot e^{-j\omega }} \right |^{2}=0.5$$
That means
$$\frac{1+g}{1+g\cdot e^{-j\omega }}\cdot \frac{1+g}{1+g\cdot e^{+j\omega }} = 0.5$$
Multiplying this out yields
$$\frac{(1+g)^{2}}{1+2\cdot g\cdot cos(\omega) + g^{2} }= 0.5$$
We can put this into standard quadratic equation form:

$$g^{2}+(4-2\cdot cos(\omega))\cdot g + 1 = 0$$

Solve, plug in the numbers and you get
$$g_{1} = -1.0744, g_{2} = -0.93074$$

The first solution doesn't make sense since it would be a pole outside the unit circle, so the second is correct and we get the expected

$$\alpha = 0.069262$$