A very long time ago I had to do this with my ps2 connected to my desktop that had a linksys wireless PCI card, because I was not near the router in my parents office. Now I'm using the same technique with my PS3 because of the lousy wireless chip in my PS3.
It's not complicated once you learn, I don't use ICS (internet connection sharing) if your using a laptop with a good wireless connection or desktop you can get a crossover cable, not the same as your regular ethernet cable. This allows you to directly connect another device without using another switch, hub, etc. Once you have the cable plug it into the PS3 go to your network adaptors in your control pannel ( this differs on your operating system but there mostly all in the same location ) now highlight both your wireless and Lan connections then right click and bridge the connections. If you can I would advise always using static ip's on each device since you will need to right click on the network bridge you just created and go to properties, then right click on the IPv4 protocol and click on properties or settings I honestly forgot which one it is, if I wasn't on my phone browsing the web I could tell you. Then change the automatic IP settings to manual, if it's a linksys router set a IP like 192.168.1.115 assuming your not using 15 IP addresses. The subnet mask will auto set 255.255.255.0 when you click on it, then for the DNS server you should enter your routers IP for the primary and will work with the 2nd DNS and that is the address that you connect to your router like the linksys is 192.168.1.1 then apply those settings. Now on the ps3 end set it up as a wired connection and if you have any problem it most likely would be a IP conflict so make sure everything is cosher and that is what has worked wonders for me, no more disconnecting when playing madden online, or any other game.
The only thing other than this is to find the best wireless channel in the router settings but the best signal will not always be the best connection. That's something too complicated for most to understand in technical terms, so let's keep it simple and good luck my ps3 id is kaxx if you need any help just ask me.