Yes it has the similar result to the perin function. I was talking with some coder friend about perlin and told him I was doing it the way you did it (that's because I read a tutorial about perlin with a presentation of images that looked like magnifications of the actual noise image that are added together. It's the same thing but I think I found it's easier to do perlin noise and experiment with different things by following the perlin way:
You make a static inline function than takes some data (e.g. x,y or even z if in 3D space or maybe some timer variables for animation) and returns something back (a color or gradient value or anything).
This is the perlin I just made today:
static inline int Perlin(int x, int y, int k1, int k2, int k3)
{
return (fsin1[x+k1] + fsin2[y+k2] + fsin3[x+y+k3]);
}
And then in the main loop you say:
int c;
for (int y=0;y<ScreenHeight;y++)
{
for (int x=0;x<ScreenWidth;x++)
{
c = (Perlin(x,y,k1,k2,k3) + (Perlin(x<<1, y<<1,k1,k2,k3)>>1) + (Perlin(x<<2, y<<2,k1,k2,k3)>>2) + (Perlin(x<<3, y<<3,k1,k2,k3)>>3)) & 511;
if (c>255) c = 511 - c;
*vram++ = ((c>>2)<<16) | ((c>>1)<<

| c;
}
}
Like for each pixel you call the perlin function normally, then with the x,y values *2 (<<1) and the final result divided by two (>>1) then <<2 and >>2 then <<3 and >>3 and so on. The good thing for this is that you don't need to generate textures and their magnifications that takes up memory but in that programm the main loop is fixed and then you just change the perlin functions which is one line up there and you get a lot of different stuff. And I could not have the int fsin1,fsin2,fsin3 values (which are just LUT tables of sines) but you can have real sines (maybe slower for realtime but good for texture generation) and stuff. This one with my simple plasma function does great animated stuff with the perlin thing and gets around 100fps in 640x480 animated. Not bad..
The code above is actually the entry I started to do. But maybe I will do something else except perlin because it's already done here. Or maybe I will finish this one first and then try something different..