Question: all complex and real root of equation

Dear Mapler

I want to find all real and complex solutions to the following equation. then calculate the omega based on these values and finally select the present the omega with the smallest imaginary part.

with(SignalProcessing):

n:=8;

kk:=FFT(GenerateJaehne(n,1));

#params:= [p,    s, nu,   rho, h,    sigma, C1[1], C1[2], C2[1], C2[2], k1,  k2,  m1[1], m1[2], m2[1], m2[2] ]
 params:= [1e-7, 0, 1e-6, 1e3, 1e-2, 0,     5e-4,  5e-4,  5e-4,  5e-4,  1.4, 1.4, 1+I,   1+I,   1-I,   1-I   ]:

for i from 1 to n do
    x:=kk[i]:
    mm[i]:=[solve(
             eval(
                  ( (x*h)*( (y*h)*sinh((x*h))*cosh((y*h))-(x*h)*cosh((x*h))*sinh((y*h)))*(1+s*(x*h)^2)
                    +p*(-4*(x*h)^2*(y*h)*((x*h)^2+(y*h)^2)+(y*h)*((y*h)^4+2*(x*h)^2*(y*h)^2+5*(x*h)^4)*cosh((x*h))*cosh((y*h))
                    -(x*h)*((y*h)^4+6*(x*h)^2*(y*h)^2+(x*h)^4)*sinh((x*h))*sinh((y*h))))
                  /((x*h)^2*(y*h)*cosh((y*h)))
                 , [p=params[1], s=params[2], h=params[5] ]), y
            , AllSolutions=true)]:
    print(kk[i]);
    print(mm[i]);
    for j from 1 to nops(mm[i]) do
        omega[i][j]:=eval(-I*nu*((x*h)^2-mm[i][j]^2), [nu=params[3],h=params[5]]);
        print(omega[i][j]);
    od:
    print(`======`);
od:
Please Wait...