How can I make a bed canopy?
Short answer just to point you to the direction of cloth simulations. 


Start with a large circle in the position of the highest point of the canopy, with a "triangle fan" face fill. 
Remove one vertex along the circumference, to make an opening
Subdivide many times, minimum 6 but possibly 11-12. 
Assign the central vertex to a vertex group. 
Set up a Cloth simulation and enable pinning on the newly created vertex group. 
Make the canopy holder ring using a simple torus mesh and enable collision. 
Enable collision on the bed (or on a cube representing the bed's proportions, if your bed isn't ready yet). 
Bake a cloth simulation
Choose a frame that looks right, and "Apply" the Cloth modifier.