How to make a fluid carpet effect

Hi guys, i dont know very well how to explain this, but i basicly add a plane on my scene and put a texture of a carpet, i want that carpet to be like the Alladin carpet on the cartoon, i want the carpet to make a move like a wave in the same place, i dont know how to approach this, i searched a lot, the movement i want is in the same place like the (sin) in math, if you guys can help me i appreciate a lot.

For each vertex : use the vertex position as a reference in the wave, add a timer value, now evaluate sine value. Here is an example using sine and perlin (perlin looks more ‘random’, and can be evaluated with 2 variables). In a new scene, create a plane and attach the script. In play mode, modify the public inspector variables.

using UnityEngine;
using System.Collections;

public class PerlinPlane : MonoBehaviour 
{
	public float speed = 2f;
	public float scaleY = 1f;
    public float freqX = 0.2f;
    public float freqZ = 3.6f;
    
	private float timer = 0f;
    private Mesh mesh;
	private Vector3[] originalVerts;
    
	void Start()
    {
    	mesh = GetComponent< MeshFilter >().mesh;
    	originalVerts = new Vector3[ mesh.vertices.Length ];
    	System.Array.Copy( mesh.vertices, originalVerts, mesh.vertices.Length );
    }

    void Update()
    {
    	Vector3[] verts = new Vector3[ originalVerts.Length ];
		
		for ( int i = 0; i < originalVerts.Length; i++ ) 
		{
			verts[ i ] = new Vector3( originalVerts_.x, 0, originalVerts*.z );*_

//verts[ i ].y = Mathf.Sin( originalVerts_.x * freqX + timer ) * scaleY;
verts[ i ].y = ( Mathf.PerlinNoise( originalVerts.x * freqX + timer, originalVerts.z * freqZ + timer ) * 2f - 1f ) * scaleY;
* }*_

* mesh.vertices = verts;*
* mesh.RecalculateBounds();*

_ timer += speed * Time.deltaTime;
}
}_